From: Francisco Jerez Date: Sun, 7 Feb 2016 02:43:45 +0000 (-0800) Subject: i965/fs: Don't emit unnecessary SEL instruction from emit_image_atomic(). X-Git-Tag: upstream/17.1.0~12774 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1817e3c07a63c6404d6df323fbd443ccd9304b02;p=platform%2Fupstream%2Fmesa.git 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 --- 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 45694ec..081dbad 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;