summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2016-02-06 18:43:45 -0800
committerFrancisco Jerez <[email protected]>2016-02-08 15:43:05 -0800
commit1817e3c07a63c6404d6df323fbd443ccd9304b02 (patch)
treeeb929e6c6c803de56f79a4d190c58a0ee8627436 /src
parentc300559fbfa6127320b78c130061fdb6a454658d (diff)
i965/fs: Don't emit unnecessary SEL instruction from emit_image_atomic().
The SEL instruction with predication mode NONE emitted when the atomic operation doesn't need to be predicated is a no-op and might rely on undocumented hardware behaviour. Noticed by chance while looking at the assembly output. Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp2
1 files changed, 1 insertions, 1 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 45694ec0894..081dbadadfe 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_surface_builder.cpp
@@ -1122,7 +1122,7 @@ namespace brw {
dims, rsize, op, pred);
/* An unbound surface access should give zero as result. */
- if (rsize)
+ if (rsize && pred)
set_predicate(pred, bld.SEL(tmp, tmp, brw_imm_d(0)));
return tmp;