diff options
| author | 2022-11-11 00:25:03 +0800 | |
|---|---|---|
| committer | 2022-11-17 22:45:14 +0800 | |
| commit | 60e0d4a177803891720af4c5978bbf2604bed276 (patch) | |
| tree | a020a61ec430e3f2c3aff69b267b979a43f9eb9b /src/shader_recompiler/backend/spirv/spirv_emit_context.cpp | |
| parent | Merge pull request #9199 from liamwhite/service-oops (diff) | |
| download | yuzu-60e0d4a177803891720af4c5978bbf2604bed276.tar.gz yuzu-60e0d4a177803891720af4c5978bbf2604bed276.tar.xz yuzu-60e0d4a177803891720af4c5978bbf2604bed276.zip | |
shader: Implement miss attribute layer
Diffstat (limited to 'src/shader_recompiler/backend/spirv/spirv_emit_context.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/spirv_emit_context.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp index c26ad8f93..e80662d23 100644 --- a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp +++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp | |||
| @@ -1355,6 +1355,10 @@ void EmitContext::DefineInputs(const IR::Program& program) { | |||
| 1355 | if (loads[IR::Attribute::PrimitiveId]) { | 1355 | if (loads[IR::Attribute::PrimitiveId]) { |
| 1356 | primitive_id = DefineInput(*this, U32[1], false, spv::BuiltIn::PrimitiveId); | 1356 | primitive_id = DefineInput(*this, U32[1], false, spv::BuiltIn::PrimitiveId); |
| 1357 | } | 1357 | } |
| 1358 | if (loads[IR::Attribute::Layer]) { | ||
| 1359 | AddCapability(spv::Capability::Geometry); | ||
| 1360 | layer = DefineInput(*this, U32[1], false, spv::BuiltIn::Layer); | ||
| 1361 | } | ||
| 1358 | if (loads.AnyComponent(IR::Attribute::PositionX)) { | 1362 | if (loads.AnyComponent(IR::Attribute::PositionX)) { |
| 1359 | const bool is_fragment{stage != Stage::Fragment}; | 1363 | const bool is_fragment{stage != Stage::Fragment}; |
| 1360 | const spv::BuiltIn built_in{is_fragment ? spv::BuiltIn::Position : spv::BuiltIn::FragCoord}; | 1364 | const spv::BuiltIn built_in{is_fragment ? spv::BuiltIn::Position : spv::BuiltIn::FragCoord}; |