On Tue, Oct 16, 2018 at 4:21 AM Topi Pohjolainen <topi.pohjolai...@gmail.com> wrote: > > Identifier bits in the dispatch header have changed. See Bspec: > > SINGLE_PATCH Payload: > > 3D Pipeline Stages - 3D Pipeline Geometry - > Hull Shader (HS) Stage IVB+ - Payloads IVB+ > > Fixes: > KHR-GL46.tessellation_shader.tessellation_shader_tc_barriers.barrier_guarded_read_write_calls > > CC: Anuj Phogat <anuj.pho...@gmail.com> > CC: Mark Janes <mark.a.ja...@intel.com> > Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com> > --- > src/intel/compiler/brw_fs.cpp | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp > index 23a25fedca5..757147b01ec 100644 > --- a/src/intel/compiler/brw_fs.cpp > +++ b/src/intel/compiler/brw_fs.cpp > @@ -6593,14 +6593,18 @@ fs_visitor::run_tcs_single_patch() > if (tcs_prog_data->instances == 1) { > invocation_id = channels_ud; > } else { > + const unsigned invocation_id_mask = devinfo->gen >= 11 ? > + INTEL_MASK(22, 16) : INTEL_MASK(23, 17); > + const unsigned invocation_id_shift = devinfo->gen >= 11 ? 16 : 17; > + > invocation_id = bld.vgrf(BRW_REGISTER_TYPE_UD); > > /* Get instance number from g0.2 bits 23:17, and multiply it by 8. */ > fs_reg t = bld.vgrf(BRW_REGISTER_TYPE_UD); > fs_reg instance_times_8 = bld.vgrf(BRW_REGISTER_TYPE_UD); > bld.AND(t, fs_reg(retype(brw_vec1_grf(0, 2), BRW_REGISTER_TYPE_UD)), > - brw_imm_ud(INTEL_MASK(23, 17))); > - bld.SHR(instance_times_8, t, brw_imm_ud(17 - 3)); > + brw_imm_ud(invocation_id_mask)); > + bld.SHR(instance_times_8, t, brw_imm_ud(invocation_id_shift - 3)); > > bld.ADD(invocation_id, instance_times_8, channels_ud); > } > -- > 2.17.1 >
Reviewed-by: Anuj Phogat <anuj.pho...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev