Skip to content

refactor(gsplat): remove the compute renderer#8921

Merged
mvaligursky merged 1 commit into
mainfrom
mv-gsplat-remove-compute-renderer
Jun 18, 2026
Merged

refactor(gsplat): remove the compute renderer#8921
mvaligursky merged 1 commit into
mainfrom
mv-gsplat-remove-compute-renderer

Conversation

@mvaligursky

Copy link
Copy Markdown
Contributor

Removes the experimental, unmaintained gsplat compute-local renderer (GSPLAT_RENDERER_COMPUTE) to simplify the gsplat pipeline ahead of further renderer/shadow refactoring. The hybrid (GPU-sort) and CPU-sort paths are untouched, and the public constants are kept (deprecated) with graceful fallback, so this is not a breaking change.

Changes:

  • Deleted the compute renderer and its support files: gsplat-compute-local-renderer.js, frame-pass-gsplat-compute-local.js, gsplat-local-dispatch-set.js, gsplat-tile-composite.js, plus 15 WGSL chunks (13 compute-gsplat-local-* + the gsplatTileComposite vert/frag).
  • GSplatManager: removed compactGpu, the GSPLAT_RENDERER_COMPUTE branches in _createRenderer / update / prepareForPicking, and the compute-only sort-indirect sentinel. The interval compaction, projector, and radix sort are retained — the hybrid GPU-sort path still uses them.
  • Net +63 / −3792 lines.

API Changes (deprecations, non-breaking):

  • GSPLAT_RENDERER_COMPUTE — retained but @deprecated. Setting scene.gsplat.renderer to it now logs a Debug.removed warning and falls back to GSPLAT_RENDERER_AUTO.
  • GSPLAT_DEBUG_HEATMAP — retained but @deprecated (it only applied to the compute rasterizer). Setting scene.gsplat.debug to it logs a warning and is ignored.
  • Both constants will be removed in a future release.

Examples:

  • Removed the "Compute" renderer option from the gsplat example control panels (33, incl. the XR vr-lod example) and the "Heatmap" debug option (3).
  • Removed the WebGPU Compute row from the gsplat benchmark example.

Removes the experimental, unmaintained gsplat compute-local renderer (GSPLAT_RENDERER_COMPUTE) to simplify the gsplat pipeline ahead of further refactoring. The hybrid (GPU-sort) and CPU-sort paths are untouched.

GSPLAT_RENDERER_COMPUTE and GSPLAT_DEBUG_HEATMAP are kept but deprecated: setting them now logs a Debug.removed warning and falls back to GSPLAT_RENDERER_AUTO / is ignored. They will be removed in a future release.

Deletes the compute renderer, its frame pass, dispatch set, tile compositor, and 15 WGSL compute/tile-composite shader chunks; removes the compute branches and compactGpu from GSplatManager. Updates gsplat example control panels to drop the Compute renderer and Heatmap debug options, and the benchmark's compute row.
@github-actions

Copy link
Copy Markdown

Public API report

This PR changes the public API surface (+0 / −2), per the docs' rules (@ignore / @Private / undocumented are excluded).

Show API diff
-const GSPLAT_DEBUG_HEATMAP: number
-const GSPLAT_RENDERER_COMPUTE: number

Informational only — this never fails the build.

@mvaligursky mvaligursky merged commit 6f875f7 into main Jun 18, 2026
9 checks passed
@mvaligursky mvaligursky deleted the mv-gsplat-remove-compute-renderer branch June 18, 2026 11:39
mvaligursky added a commit that referenced this pull request Jun 22, 2026
Cleans up dead code left behind by the compute-renderer removal (#8921).

- Remove the unused _createTonemapIncludes helper and its two orphaned
  shader-chunk imports from GSplatRenderer.
- Refresh two stale comments that still referenced the compute renderer
  (class header + setDataSource JSDoc).
- Remove the Occluder toggle from the lod-streaming example (control,
  orange cube, observer wiring); it only enabled sceneDepthMap for the
  compute rasterizer's manual depth test, which the raster path ignores.

Co-authored-by: Martin Valigursky <mvaligursky@snapchat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant