Skip to content

Commit cf67052

Browse files
authored
Fix Gaussian splat Vulkan render target setup (#7525)
1 parent bdd1498 commit cf67052

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- Add vcpkg support for easier dependency management (PR #7386)
66
- Exposed advanced parameters (`full_depth`, `samples_per_node`, `point_weight`) for Poisson surface reconstruction in `TriangleMesh.create_from_point_cloud_poisson` (PR #7430) (issue #7248)
77
- Add SYCL tensor backends for HashMap, nearest-neighbor search (KNN, fixed-radius, hybrid), geometry transforms, and registration / odometry / feature pipelines (parity with CUDA paths where applicable).
8+
- Fix Gaussian Splat rendering on Vulkan by disabling view MSAA before binding a render target with sampleable depth (issue #7495).
89
- Add SYCL ML ops: continuous convolution and sparse convolution (forward/transpose/backprop-filter, sycl-tla GEMM-accelerated), voxelize, voxel pooling, invert neighbors list, reduce-subarrays-sum, and ragged-to-dense, plus contrib NMS, RoI pool, ball query, IoU (BEV + 3D), trilinear devoxelize, and three-interpolate, all exposed via the PyTorch XPU op library.
910
- Hybrid nearest-neighbor search on SYCL now supports the L1 and Linf metrics (previously L2-only), matching fixed-radius search and CUDA.
1011
- Convolution ops' `allow_tf32` acceleration on SYCL requires channel counts and leading dimensions to be divisible by 4; falls back to IEEE float32 with a one-time warning otherwise. See `docs/sycl.rst`.

cpp/open3d/visualization/rendering/gaussian_splat/GaussianSplatVulkanBackend.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,14 @@ class GaussianSplatVulkanBackend final : public GaussianSplatRenderer::Backend {
179179
targets.render_target =
180180
resource_mgr.CreateRenderTarget(view_color, targets.depth);
181181
}
182-
view.SetRenderTarget(targets.render_target);
183-
184182
auto* native = view.GetNativeView();
185183
auto msaa = native->getMultiSampleAntiAliasingOptions();
186184
msaa.enabled = false;
187185
native->setMultiSampleAntiAliasingOptions(msaa);
186+
187+
// Filament rejects sampleable depth targets while MSAA is enabled, so
188+
// update the view before binding the shared depth render target.
189+
view.SetRenderTarget(targets.render_target);
188190
view.SetPostProcessing(false);
189191

190192
return static_cast<bool>(targets.render_target);

0 commit comments

Comments
 (0)