summaryrefslogtreecommitdiffstats
path: root/src/intel/compiler
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2017-09-24 12:42:52 -0700
committerKenneth Graunke <[email protected]>2017-09-26 15:35:14 -0700
commita553eb0fdfbf62a904abe28acc0339815fc3217a (patch)
tree6816b7c760e0d37e31fc8d4f987f909b6898ed32 /src/intel/compiler
parent66342c997fb7892034e537d1456c37e6981c2fdb (diff)
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 <[email protected]>
Diffstat (limited to 'src/intel/compiler')
-rw-r--r--src/intel/compiler/brw_vec4_copy_propagation.cpp7
1 files changed, 7 insertions, 0 deletions
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: