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

Francisco Jerez currojerez at riseup.net
Mon Aug 17 09:46:03 PDT 2015


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 50e0acd..f60afc9 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
@@ -1090,7 +1090,7 @@ namespace brw {
          if (rsize)
             set_predicate(pred, bld.SEL(tmp, tmp, fs_reg(0)));
 
-         return tmp;
+         return retype(tmp, src0.type);
       }
    }
 }
-- 
2.4.6



More information about the mesa-dev mailing list