OSDN Git Service

i965: Fix barrier count shift in scalar TCS backend.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 17 Aug 2016 13:35:01 +0000 (06:35 -0700)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 1 Sep 2016 10:39:43 +0000 (11:39 +0100)
The "Barrier Count" field goes in 14:9 of m0.2.  The vec4 backend
correctly shifts by 9, but the scalar backend only shifted by 8.

It's not like this changed - I think I just made a typo when writing
the original scalar TCS backend code.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
(cherry picked from commit d14dd727f4aded5bd34a78dc2c81374a78114440)

src/mesa/drivers/dri/i965/brw_fs_nir.cpp

index f5b8078..91763d3 100644 (file)
@@ -2338,7 +2338,7 @@ fs_visitor::nir_emit_tcs_intrinsic(const fs_builder &bld,
 
       /* Set the Barrier Count and the enable bit */
       chanbld.OR(m0_2, m0_2,
-                 brw_imm_ud(tcs_prog_data->instances << 8 | (1 << 15)));
+                 brw_imm_ud(tcs_prog_data->instances << 9 | (1 << 15)));
 
       bld.emit(SHADER_OPCODE_BARRIER, bld.null_reg_ud(), m0);
       break;