summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIago Toral Quiroga <itoral@igalia.com>2015-04-22 08:01:15 +0200
committerFrancisco Jerez <currojerez@riseup.net>2015-08-03 12:47:21 +0300
commitd12069dcf788280e4045c459646d3777a5533b18 (patch)
tree9e08e851f986253609a02b988b9a1defff324bd2
parent3656dc29bcb3fc0294df5a8b132a91abf9e0a986 (diff)
i965/vec4: Skip dependency control for opcodes emitting multiple instructionsi965-ssbo
The same we did for the fragment shader with commit 7452f18b.
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_generator.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
index 1472f757ca4..1fe08b84de4 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
@@ -1141,6 +1141,7 @@ vec4_generator::generate_code(const cfg_t *cfg)
foreach_block_and_inst (block, vec4_instruction, inst, cfg) {
struct brw_reg src[3], dst;
+ bool multiple_instructions_emitted = false;
if (unlikely(debug_flag))
annotate(p->devinfo, &annotation, cfg, inst, p->next_insn_offset);
@@ -1609,6 +1610,9 @@ vec4_generator::generate_code(const cfg_t *cfg)
unreachable("Unsupported opcode");
}
+ if (multiple_instructions_emitted)
+ continue;
+
if (inst->opcode == VEC4_OPCODE_PACK_BYTES) {
/* Handled dependency hints in the generator. */