[Mesa-dev] [PATCH 1/2] i965: retype result of typed atomic operation to the same type as source

Ilia Mirkin imirkin at alum.mit.edu
Mon Feb 22 20:52:15 UTC 2016


This fixes atomic exchange with a r32f image, as needed by
GL_OES_shader_atomic_exchange.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
 src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
index 081dbad..e775cc0 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
@@ -156,8 +156,10 @@ namespace brw {
          const fs_reg tmp = bld.vgrf(BRW_REGISTER_TYPE_UD, n);
          bld.LOAD_PAYLOAD(tmp, srcs, n, 0);
 
-         return emit_send(bld, SHADER_OPCODE_TYPED_ATOMIC_LOGICAL,
-                          addr, tmp, surface, dims, op, rsize);
+         return retype(
+            emit_send(bld, SHADER_OPCODE_TYPED_ATOMIC_LOGICAL,
+                      addr, tmp, surface, dims, op, rsize),
+            src0.type);
       }
    }
 }
-- 
2.4.10



More information about the mesa-dev mailing list