diff options
author | Anuj Phogat <anuj.phogat@gmail.com> | 2014-07-28 15:41:55 -0700 |
---|---|---|
committer | Anuj Phogat <anuj.phogat@gmail.com> | 2014-08-14 11:03:00 -0700 |
commit | 7c1ea00eafc882b67784e6cfd8ee46a7c6fc05dc (patch) | |
tree | 390196bf35293570e68db3c5e6294ea1c8b38eb2 /src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | |
parent | 2b837576eb47eeb25f381c534a8bbccda0ee4c89 (diff) | |
download | external_mesa3d-7c1ea00eafc882b67784e6cfd8ee46a7c6fc05dc.zip external_mesa3d-7c1ea00eafc882b67784e6cfd8ee46a7c6fc05dc.tar.gz external_mesa3d-7c1ea00eafc882b67784e6cfd8ee46a7c6fc05dc.tar.bz2 |
i965: Bail on vec4 copy propagation for scratch writes with source modifiers
Fixes Khronos GLES3 CTS test:
dynamic_expression_array_access_vertex
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp index 28f162d..37ca661 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp @@ -273,6 +273,10 @@ try_copy_propagate(struct brw_context *brw, vec4_instruction *inst, if (has_source_modifiers && value.type != inst->src[arg].type) return false; + if (has_source_modifiers && + inst->opcode == SHADER_OPCODE_GEN4_SCRATCH_WRITE) + return false; + bool is_3src_inst = (inst->opcode == BRW_OPCODE_LRP || inst->opcode == BRW_OPCODE_MAD || inst->opcode == BRW_OPCODE_BFE || |