diff --git a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp index aeba658cb..1fc33b2fa 100644 --- a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp +++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp @@ -675,6 +675,10 @@ void EmitContext::DefineOutputs() { sample_mask = DefineVariable(TypeArray(U32[1], u32_one_value), spv::BuiltIn::SampleMask, spv::StorageClass::Output); } + if (info.stores.Get(IR::Attribute::StencilRef)) { + stencil_ref = DefineVariable(S32[1], spv::BuiltIn::FragStencilRefEXT, + spv::StorageClass::Output); + } u32 num_render_targets = 0; for (u32 i = 0; i < IR::NumRenderTargets; i++) { const IR::Attribute mrt{IR::Attribute::RenderTarget0 + i};