On Wed, May 2, 2018 at 10:49 AM, Neil Roberts <nrobe...@igalia.com> wrote: > This behaviour was changed in 1e5b09f42f694687ac. The commit message > for that says it is just a “tidy up” so my assumption is that the > behaviour change was a mistake. It’s a little hard to decipher looking > at the diff, but the previous code before that patch was: > > if (builtin == SpvBuiltInFragCoord || builtin == SpvBuiltInSamplePosition) > nir_var->data.origin_upper_left = b->origin_upper_left; > > if (builtin == SpvBuiltInFragCoord) > nir_var->data.pixel_center_integer = b->pixel_center_integer; > > After the patch the code was: > > case SpvBuiltInSamplePosition: > nir_var->data.origin_upper_left = b->origin_upper_left; > /* fallthrough */ > case SpvBuiltInFragCoord: > nir_var->data.pixel_center_integer = b->pixel_center_integer; > break; > > Before the patch origin_upper_left affected both builtins and > pixel_center_integer only affected FragCoord. After the patch > origin_upper_left only affects SamplePosition and pixel_center_integer > affects both variables. > > This patch tries to restore the previous behaviour by changing the > code to: > > case SpvBuiltInFragCoord: > nir_var->data.pixel_center_integer = b->pixel_center_integer; > /* fallthrough */ > case SpvBuiltInSamplePosition: > nir_var->data.origin_upper_left = b->origin_upper_left; > break; > > This change will be important for ARB_gl_spirv which is meant to > support OriginLowerLeft. > --- > src/compiler/spirv/vtn_variables.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/compiler/spirv/vtn_variables.c > b/src/compiler/spirv/vtn_variables.c > index 9679ff6526c..fd8ab7f247a 100644 > --- a/src/compiler/spirv/vtn_variables.c > +++ b/src/compiler/spirv/vtn_variables.c > @@ -1419,11 +1419,11 @@ apply_var_decoration(struct vtn_builder *b, > nir_variable *nir_var, > case SpvBuiltInTessLevelInner: > nir_var->data.compact = true; > break; > - case SpvBuiltInSamplePosition: > - nir_var->data.origin_upper_left = b->origin_upper_left; > - /* fallthrough */ > case SpvBuiltInFragCoord: > nir_var->data.pixel_center_integer = b->pixel_center_integer; > + /* fallthrough */ > + case SpvBuiltInSamplePosition: > + nir_var->data.origin_upper_left = b->origin_upper_left; > break; > default: > break; > -- > 2.14.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
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