[Mesa-dev] [PATCH v3 (part2) 56/56] i965/vec4: Skip dependency control for opcodes emitting multiple instructions

Iago Toral Quiroga itoral at igalia.com
Tue Jul 14 00:46:58 PDT 2015


The same we did for the fragment shader with commit 7452f18b.
---
 src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
index 443bf48..8876e02 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. */
 
-- 
1.9.1



More information about the mesa-dev mailing list