[Mesa-dev] [PATCH 4/5] i965/fs: Return result of image atomic in a register of the expected type.

Francisco Jerez currojerez at riseup.net
Tue Feb 23 02:40:38 UTC 2016


So the result is of float type if we're implementing the float
overload of imageAtomicExchange.  This is the only back-end change
required to support OES_shader_image_atomic AFAICT.
---
 src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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..75734d2 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
@@ -1125,7 +1125,7 @@ namespace brw {
          if (rsize && pred)
             set_predicate(pred, bld.SEL(tmp, tmp, brw_imm_d(0)));
 
-         return tmp;
+         return retype(tmp, src0.type);
       }
    }
 }
-- 
2.7.0



More information about the mesa-dev mailing list