Refactor rasterize variant management and beforePasses scheduling#8579
Merged
mvaligursky merged 1 commit intomainfrom Apr 7, 2026
Merged
Refactor rasterize variant management and beforePasses scheduling#8579mvaligursky merged 1 commit intomainfrom
mvaligursky merged 1 commit intomainfrom
Conversation
Move rasterize shader/BindGroupFormat/Compute creation from GSplatComputeLocalRenderer into GSplatLocalDispatchSet behind a Map-based variant cache (getRasterizeCompute(key)), allowing lazy per-variant creation without duplicating heavy buffers. Move beforePasses scheduling from ForwardRenderer.buildFrameGraph() into RenderPassForward.updateCameraBeforePasses(), using the existing firstCameraUse flag to guarantee exactly-once collection per camera. Add updateCameraUseFlags() to FramePassCameraFrame so that CameraFrame's internally created RenderPassForward instances have correct firstCameraUse/lastCameraUse flags, fixing EVENT_PRERENDER/EVENT_POSTRENDER not firing in the CameraFrame path. Made-with: Cursor
mvaligursky
pushed a commit
that referenced
this pull request
Apr 8, 2026
Remove unused requiresDepth metadata from Camera.beforePasses entries introduced in #8579, reverting the type to FramePass[]. The field was never consumed by the scheduling logic. Made-with: Cursor
mvaligursky
added a commit
that referenced
this pull request
Apr 8, 2026
Remove unused requiresDepth metadata from Camera.beforePasses entries introduced in #8579, reverting the type to FramePass[]. The field was never consumed by the scheduling logic. Made-with: Cursor Co-authored-by: Martin Valigursky <mvaligursky@snapchat.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refactors compute GSplat rasterize shader variant management and camera beforePasses scheduling for cleaner architecture and correct event handling.
Changes:
GSplatComputeLocalRendererintoGSplatLocalDispatchSetbehind a Map-based variant cache (getRasterizeCompute(key)), allowing lazy per-variant creation without duplicating heavy buffersForwardRenderer.buildFrameGraph()intoRenderPassForward.updateCameraBeforePasses(), using the existingfirstCameraUseflag to guarantee exactly-once collection per cameraupdateCameraUseFlags()toFramePassCameraFrameso that CameraFrame's internally created RenderPassForward instances have correctfirstCameraUse/lastCameraUseflags, fixingEVENT_PRERENDER/EVENT_POSTRENDERnot firing in the CameraFrame path