summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv/emit_context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_context.cpp')
-rw-r--r--src/shader_recompiler/backend/spirv/emit_context.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.cpp b/src/shader_recompiler/backend/spirv/emit_context.cpp
index 96d0e9b4d..7531f8b21 100644
--- a/src/shader_recompiler/backend/spirv/emit_context.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_context.cpp
@@ -393,6 +393,14 @@ void EmitContext::DefineInputs(const Info& info) {
393 subgroup_local_invocation_id = 393 subgroup_local_invocation_id =
394 DefineInput(*this, U32[1], spv::BuiltIn::SubgroupLocalInvocationId); 394 DefineInput(*this, U32[1], spv::BuiltIn::SubgroupLocalInvocationId);
395 } 395 }
396 if (info.uses_fswzadd) {
397 const Id f32_one{Constant(F32[1], 1.0f)};
398 const Id f32_minus_one{Constant(F32[1], -1.0f)};
399 const Id f32_zero{Constant(F32[1], 0.0f)};
400 fswzadd_lut_a = ConstantComposite(F32[4], f32_minus_one, f32_one, f32_minus_one, f32_zero);
401 fswzadd_lut_b =
402 ConstantComposite(F32[4], f32_minus_one, f32_minus_one, f32_one, f32_minus_one);
403 }
396 if (info.loads_position) { 404 if (info.loads_position) {
397 const bool is_fragment{stage != Stage::Fragment}; 405 const bool is_fragment{stage != Stage::Fragment};
398 const spv::BuiltIn built_in{is_fragment ? spv::BuiltIn::Position : spv::BuiltIn::FragCoord}; 406 const spv::BuiltIn built_in{is_fragment ? spv::BuiltIn::Position : spv::BuiltIn::FragCoord};