Generalize the GPU brush cache for reusable node data - #4526
YohYamasaki wants to merge 9 commits into
Conversation
There was a problem hiding this comment.
All reported issues were addressed across 11 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 8 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
50447d6 to
3f6f2a9
Compare
0HyperCube
left a comment
There was a problem hiding this comment.
Seems reasonable. I'm not very good at reasoning about generic ZSTs 🙃.
| if slot.epoch == self.epoch { | ||
| self.epoch += 1; | ||
| } |
There was a problem hiding this comment.
@timon-schelling this is a bit confusing. Why only increment the epoch if we have a cache hit? If you have infinite cache misses then you end up still on epoch 0?
9b850c5 to
c57bc11
Compare
timon-schelling
left a comment
There was a problem hiding this comment.
Generally happy how it looks, great work.
|
@cubic-dev-ai review |
@YohYamasaki I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 13 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
|
@timon-schelling I have added the handle + made the cache generic over the value, could you please review this again? |
This extracts
BrushCachefrom #4468 into a reusable generic cache, which will also be used in the mesh gradient #4081. It now allows to have custom eviction strategy through cache policies.Also fixed a bug-ish type mismatch path in
Cache::take()that could trigger duplicate eviction policy updates by removing and reinserting the entry.