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

Signed-off-by: Ilia Mirkin <[email protected]>
---
 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

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to