mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 17:50:12 +01:00
spirv: Apply OriginUpperLeft to FragCoord
This behaviour was changed in1e5b09f42f. 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. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Fixes:1e5b09f42f"spirv: Tidy some repeated if checks..."
This commit is contained in:
parent
b291a3a4a3
commit
e17d0ccbbd
1 changed files with 3 additions and 3 deletions
|
|
@ -1419,11 +1419,11 @@ apply_var_decoration(struct vtn_builder *b, nir_variable *nir_var,
|
||||||
case SpvBuiltInTessLevelInner:
|
case SpvBuiltInTessLevelInner:
|
||||||
nir_var->data.compact = true;
|
nir_var->data.compact = true;
|
||||||
break;
|
break;
|
||||||
case SpvBuiltInSamplePosition:
|
|
||||||
nir_var->data.origin_upper_left = b->origin_upper_left;
|
|
||||||
/* fallthrough */
|
|
||||||
case SpvBuiltInFragCoord:
|
case SpvBuiltInFragCoord:
|
||||||
nir_var->data.pixel_center_integer = b->pixel_center_integer;
|
nir_var->data.pixel_center_integer = b->pixel_center_integer;
|
||||||
|
/* fallthrough */
|
||||||
|
case SpvBuiltInSamplePosition:
|
||||||
|
nir_var->data.origin_upper_left = b->origin_upper_left;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue