summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/ir_opt/texture_pass.cpp
diff options
context:
space:
mode:
authorGravatar ameerj2021-06-17 21:44:12 -0400
committerGravatar ameerj2021-07-22 21:51:38 -0400
commita0365217f5b2ec783738af396ebd82f12cffc0b4 (patch)
treec7dd7678fe8a67f10c4990c833a7992e8a72079b /src/shader_recompiler/ir_opt/texture_pass.cpp
parentshader: Align constant buffer sizes to 16 bytes (diff)
downloadyuzu-a0365217f5b2ec783738af396ebd82f12cffc0b4.tar.gz
yuzu-a0365217f5b2ec783738af396ebd82f12cffc0b4.tar.xz
yuzu-a0365217f5b2ec783738af396ebd82f12cffc0b4.zip
texture_pass: Fix is_read image qualification
Atomic operations are considered to have both read and write access. This was not being accounted for.
Diffstat (limited to 'src/shader_recompiler/ir_opt/texture_pass.cpp')
-rw-r--r--src/shader_recompiler/ir_opt/texture_pass.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shader_recompiler/ir_opt/texture_pass.cpp b/src/shader_recompiler/ir_opt/texture_pass.cpp
index 737f186ab..44ad10d43 100644
--- a/src/shader_recompiler/ir_opt/texture_pass.cpp
+++ b/src/shader_recompiler/ir_opt/texture_pass.cpp
@@ -434,7 +434,7 @@ void TexturePass(Environment& env, IR::Program& program) {
434 throw NotImplementedException("Unexpected separate sampler"); 434 throw NotImplementedException("Unexpected separate sampler");
435 } 435 }
436 const bool is_written{inst->GetOpcode() != IR::Opcode::ImageRead}; 436 const bool is_written{inst->GetOpcode() != IR::Opcode::ImageRead};
437 const bool is_read{inst->GetOpcode() == IR::Opcode::ImageRead}; 437 const bool is_read{inst->GetOpcode() != IR::Opcode::ImageWrite};
438 if (flags.type == TextureType::Buffer) { 438 if (flags.type == TextureType::Buffer) {
439 index = descriptors.Add(ImageBufferDescriptor{ 439 index = descriptors.Add(ImageBufferDescriptor{
440 .format = flags.image_format, 440 .format = flags.image_format,