diff options
| author | 2021-04-16 01:55:06 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:27 -0400 | |
| commit | b0f1255c8cb800e9f336be66b3f16c3d958673d2 (patch) | |
| tree | d5c63390c37b32b8ef188b6ce2db9111a9585661 /src/shader_recompiler/backend/spirv/emit_context.cpp | |
| parent | shader: Implement tessellation shaders, polygon mode and invocation id (diff) | |
| download | yuzu-b0f1255c8cb800e9f336be66b3f16c3d958673d2.tar.gz yuzu-b0f1255c8cb800e9f336be66b3f16c3d958673d2.tar.xz yuzu-b0f1255c8cb800e9f336be66b3f16c3d958673d2.zip | |
shader: Implement PrimitiveId
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_context.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_context.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.cpp b/src/shader_recompiler/backend/spirv/emit_context.cpp index 067f61613..3946dab14 100644 --- a/src/shader_recompiler/backend/spirv/emit_context.cpp +++ b/src/shader_recompiler/backend/spirv/emit_context.cpp | |||
| @@ -1021,6 +1021,9 @@ void EmitContext::DefineInputs(const Info& info) { | |||
| 1021 | fswzadd_lut_b = | 1021 | fswzadd_lut_b = |
| 1022 | ConstantComposite(F32[4], f32_minus_one, f32_minus_one, f32_one, f32_minus_one); | 1022 | ConstantComposite(F32[4], f32_minus_one, f32_minus_one, f32_one, f32_minus_one); |
| 1023 | } | 1023 | } |
| 1024 | if (info.loads_primitive_id) { | ||
| 1025 | primitive_id = DefineInput(*this, U32[1], false, spv::BuiltIn::PrimitiveId); | ||
| 1026 | } | ||
| 1024 | if (info.loads_position) { | 1027 | if (info.loads_position) { |
| 1025 | const bool is_fragment{stage != Stage::Fragment}; | 1028 | const bool is_fragment{stage != Stage::Fragment}; |
| 1026 | const spv::BuiltIn built_in{is_fragment ? spv::BuiltIn::Position : spv::BuiltIn::FragCoord}; | 1029 | const spv::BuiltIn built_in{is_fragment ? spv::BuiltIn::Position : spv::BuiltIn::FragCoord}; |