From: Kenneth Graunke Date: Sun, 24 Sep 2017 19:42:52 +0000 (-0700) Subject: i965: Support copy propagating of untyped atomic surface indexes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a553eb0fdfbf62a904abe28acc0339815fc3217a;p=mesa.git i965: Support copy propagating of untyped atomic surface indexes. In the vec4 backend, SHADER_OPCODE_UNTYPED_ATOMIC's src[1] is the surface index. We want to copy propagate so we can use an immediate message descriptor, rather than an indirect send. Reviewed-by: Ian Romanick --- diff --git a/src/intel/compiler/brw_vec4_copy_propagation.cpp b/src/intel/compiler/brw_vec4_copy_propagation.cpp index c1ae32a2936..63155ecdfb0 100644 --- a/src/intel/compiler/brw_vec4_copy_propagation.cpp +++ b/src/intel/compiler/brw_vec4_copy_propagation.cpp @@ -190,6 +190,13 @@ try_constant_propagate(const struct gen_device_info *devinfo, inst->src[arg] = value; return true; + case SHADER_OPCODE_UNTYPED_ATOMIC: + if (arg == 1) { + inst->src[arg] = value; + return true; + } + break; + case SHADER_OPCODE_POW: case SHADER_OPCODE_INT_QUOTIENT: case SHADER_OPCODE_INT_REMAINDER: