Fix SSR with HiZ on WebGPU on Android device when R32_Float cannnot be sampled

This commit is contained in:
Wojtek Figat
2026-03-24 00:26:47 +01:00
parent 88fe9ba186
commit 4d5bf4ec0c
4 changed files with 17 additions and 8 deletions

View File

@@ -275,15 +275,13 @@ GPUTexture* ScreenSpaceReflectionsPass::Render(RenderContext& renderContext, GPU
context->UpdateCB(cb, &data);
context->BindCB(0, cb);
// Bind GBuffer inputs
context->BindSR(0, buffers->GBuffer0);
context->BindSR(1, buffers->GBuffer1);
context->BindSR(2, buffers->GBuffer2);
context->BindSR(3, depthBufferTrace);
// Combine pass
{
PROFILE_GPU("Combine");
context->BindSR(0, buffers->GBuffer0);
context->BindSR(1, buffers->GBuffer1);
context->BindSR(2, buffers->GBuffer2);
context->BindSR(3, buffers->DepthBuffer);
context->BindSR(TEXTURE0, lightBuffer);
context->BindSR(TEXTURE1, reflectionsRT);
context->BindSR(TEXTURE2, _preIntegratedGF->GetTexture());
@@ -328,6 +326,7 @@ GPUTexture* ScreenSpaceReflectionsPass::Render(RenderContext& renderContext, GPU
PROFILE_GPU("RayTrace");
context->SetViewportAndScissors((float)traceWidth, (float)traceHeight);
context->SetRenderTarget(*traceBuffer);
context->BindSR(3, depthBufferTrace);
context->BindSR(TEXTURE0, colorBuffer0->View());
if (useGlobalSurfaceAtlas)
{