From e4f370c3a9da437fe76cb4129fe35abdd072584f Mon Sep 17 00:00:00 2001 From: DH Date: Sun, 1 Sep 2024 00:08:03 +0300 Subject: [PATCH] shaders: do not crash if fetching sampler data fails --- hw/amdgpu/shader/src/Fragment.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hw/amdgpu/shader/src/Fragment.cpp b/hw/amdgpu/shader/src/Fragment.cpp index 3b5ce6bf4..fb1ff4238 100644 --- a/hw/amdgpu/shader/src/Fragment.cpp +++ b/hw/amdgpu/shader/src/Fragment.cpp @@ -5555,7 +5555,16 @@ spirv::SamplerValue Fragment::createSampler(RegisterId base) { sbuffer, std::size(sbuffer), TypeId::Sampler); return builder.createLoad(context->getSamplerType(), uniform->variable); } else { - util::unreachable(); + std::uint32_t sbuffer[] = { + 0, + 0, + 0, + 0, + }; + + auto uniform = context->getOrCreateUniformConstant( + sbuffer, std::size(sbuffer), TypeId::Sampler); + return builder.createLoad(context->getSamplerType(), uniform->variable); } }