Kaynağa Gözat

spirv_emit_context: add missing flat decoration

Liam 3 yıl önce
ebeveyn
işleme
0d033e6b45

+ 1 - 0
src/shader_recompiler/backend/spirv/spirv_emit_context.cpp

@@ -1362,6 +1362,7 @@ void EmitContext::DefineInputs(const IR::Program& program) {
     if (loads[IR::Attribute::Layer]) {
     if (loads[IR::Attribute::Layer]) {
         AddCapability(spv::Capability::Geometry);
         AddCapability(spv::Capability::Geometry);
         layer = DefineInput(*this, U32[1], false, spv::BuiltIn::Layer);
         layer = DefineInput(*this, U32[1], false, spv::BuiltIn::Layer);
+        Decorate(layer, spv::Decoration::Flat);
     }
     }
     if (loads.AnyComponent(IR::Attribute::PositionX)) {
     if (loads.AnyComponent(IR::Attribute::PositionX)) {
         const bool is_fragment{stage != Stage::Fragment};
         const bool is_fragment{stage != Stage::Fragment};