Просмотр исходного кода

texture_pass: Fix is_read image qualification

Atomic operations are considered to have both read and write access. This was not  being accounted for.
ameerj 5 лет назад
Родитель
Сommit
a0365217f5
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      src/shader_recompiler/ir_opt/texture_pass.cpp

+ 1 - 1
src/shader_recompiler/ir_opt/texture_pass.cpp

@@ -434,7 +434,7 @@ void TexturePass(Environment& env, IR::Program& program) {
                 throw NotImplementedException("Unexpected separate sampler");
             }
             const bool is_written{inst->GetOpcode() != IR::Opcode::ImageRead};
-            const bool is_read{inst->GetOpcode() == IR::Opcode::ImageRead};
+            const bool is_read{inst->GetOpcode() != IR::Opcode::ImageWrite};
             if (flags.type == TextureType::Buffer) {
                 index = descriptors.Add(ImageBufferDescriptor{
                     .format = flags.image_format,