[Mesa-stable] [PATCH 1/2] i965: Bail on vec4 copy propagation for scratch writes with source modifiers
Anuj Phogat
anuj.phogat at gmail.com
Mon Jul 28 20:47:02 PDT 2014
Fixes Khronos GLES3 CTS test:
dynamic_expression_array_access_vertex
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
---
I don't have a test case though it might be useful to also include
the check for VS_OPCODE_URB_WRITE here?
src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | 4 ++++
1 file changed, 4 insertions(+)
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 390448a..5a684a0 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 ||
--
1.9.3
More information about the mesa-stable
mailing list