This can happens if using emit_untyped_atomic for an atomic dec/inc
---
 src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp 
b/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
index 28002c5..ba1e670f 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
@@ -131,9 +131,10 @@ namespace brw {
                bld.MOV(offset(payload, n++),
                        offset(retype(addr, BRW_REGISTER_TYPE_UD), i));
 
-            for (unsigned i = 0; i < src_sz; i++)
-               bld.MOV(offset(payload, n++),
-                       offset(retype(src, BRW_REGISTER_TYPE_UD), i));
+            if (src.file != BAD_FILE)
+               for (unsigned i = 0; i < src_sz; i++)
+                  bld.MOV(offset(payload, n++),
+                          offset(retype(src, BRW_REGISTER_TYPE_UD), i));
 
             /* Reduce the dynamically uniform surface index to a single
              * scalar.
-- 
2.5.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to