Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Thu, Mar 8, 2018 at 11:50 AM, Michel Dänzer <mic...@daenzer.net> wrote: > From: Michel Dänzer <michel.daen...@amd.com> > > We were dropping the upper 32 bits, which caused assertion failures in > some compute shader piglit tests with radeonsi since the commit below. > > Fixes: 752e96970303 ("compiler: Add two new system values for subgroups") > Signed-off-by: Michel Dänzer <michel.daen...@amd.com> > --- > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 8 ++++---- > src/mesa/state_tracker/st_mesa_to_tgsi.c | 6 +++--- > 2 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > index ccf4dabcc9f..911c855d43a 100644 > --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > @@ -6532,10 +6532,10 @@ st_translate_program( > /* Declare misc input registers > */ > { > - GLbitfield sysInputs = proginfo->info.system_values_read; > + GLbitfield64 sysInputs = proginfo->info.system_values_read; > > for (i = 0; sysInputs; i++) { > - if (sysInputs & (1 << i)) { > + if (sysInputs & (1ull << i)) { > enum tgsi_semantic semName = _mesa_sysval_to_semantic(i); > > t->systemValues[i] = ureg_DECL_system_value(ureg, semName, 0); > @@ -6567,7 +6567,7 @@ st_translate_program( > emit_wpos(st_context(ctx), t, proginfo, ureg, > program->wpos_transform_const); > > - sysInputs &= ~(1 << i); > + sysInputs &= ~(1ull << i); > } > } > } > @@ -6864,7 +6864,7 @@ get_mesa_program_tgsi(struct gl_context *ctx, > /* This must be done before the uniform storage is associated. */ > if (shader->Stage == MESA_SHADER_FRAGMENT && > (prog->info.inputs_read & VARYING_BIT_POS || > - prog->info.system_values_read & (1 << SYSTEM_VALUE_FRAG_COORD))) { > + prog->info.system_values_read & (1ull << SYSTEM_VALUE_FRAG_COORD))) { > static const gl_state_index16 wposTransformState[STATE_LENGTH] = { > STATE_INTERNAL, STATE_FB_WPOS_Y_TRANSFORM > }; > diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c > b/src/mesa/state_tracker/st_mesa_to_tgsi.c > index c76180a5799..99cddd66282 100644 > --- a/src/mesa/state_tracker/st_mesa_to_tgsi.c > +++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c > @@ -951,9 +951,9 @@ st_translate_mesa_program(struct gl_context *ctx, > > /* Declare misc input registers > */ > - GLbitfield sysInputs = program->info.system_values_read; > + GLbitfield64 sysInputs = program->info.system_values_read; > for (i = 0; sysInputs; i++) { > - if (sysInputs & (1 << i)) { > + if (sysInputs & (1ull << i)) { > unsigned semName = _mesa_sysval_to_semantic(i); > > t->systemValues[i] = ureg_DECL_system_value(ureg, semName, 0); > @@ -985,7 +985,7 @@ st_translate_mesa_program(struct gl_context *ctx, > semName == TGSI_SEMANTIC_POSITION) > emit_wpos(st_context(ctx), t, program, ureg); > > - sysInputs &= ~(1 << i); > + sysInputs &= ~(1ull << i); > } > } > > -- > 2.16.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev