Skip to content

Remove per-splat GPU compaction for CPU sort path#8559

Merged
mvaligursky merged 1 commit intomainfrom
mv-remove-per-splat-compaction
Mar 30, 2026
Merged

Remove per-splat GPU compaction for CPU sort path#8559
mvaligursky merged 1 commit intomainfrom
mv-remove-per-splat-compaction

Conversation

@mvaligursky
Copy link
Copy Markdown
Contributor

@mvaligursky mvaligursky commented Mar 30, 2026

Remove the per-splat flag+scatter GPU compaction (GSplatCompaction) used for frustum culling on the CPU sort path. The cost of the 3-pass prefix-sum compaction pipeline did not justify the benefit. Only the interval-based compaction (GSplatIntervalCompaction) is retained, used by both the GPU sort and local compute renderer paths.

Changes:

  • Remove GSplatCompaction class and its two exclusive WGSL shader chunks (compact-flag, compact-scatter)
  • Remove all CPU compaction scheduling, bootstrapping, and teardown logic from GSplatManager
  • Simplify refreshIndirectDraw and frustum-changed handling to only use interval compaction

Remove the per-splat flag+scatter GPU compaction (GSplatCompaction) used for frustum culling on the CPU sort path. The cost of the 3-pass prefix-sum compaction pipeline did not justify the benefit. Only the interval-based compaction is retained.

Made-with: Cursor
@mvaligursky mvaligursky self-assigned this Mar 30, 2026
@mvaligursky mvaligursky added the area: graphics Graphics related issue label Mar 30, 2026
@mvaligursky mvaligursky merged commit 6a614aa into main Mar 30, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-remove-per-splat-compaction branch March 30, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: graphics Graphics related issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant