nir: account for point-coord origin when lowering it
authorDanylo Piliaiev <dpiliaiev@igalia.com>
Tue, 22 Dec 2020 12:37:45 +0000 (14:37 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 4 Jan 2021 13:41:33 +0000 (13:41 +0000)
commit33fd9e5d8a6b85e20d34f89df655fa5a75eca431
tree2cb9d497267d7e3c0b6ef9f6e4c6e71cafc0ff13
parent3898f747ce47dd1de2b6fcada1d8d3a670fd4d36
nir: account for point-coord origin when lowering it

The resulting point-coord origin not only depends on whether
the draw buffer is flipped but also on GL_POINT_SPRITE_COORD_ORIGIN
state. Which makes its transform differ from a transform of wpos.

On freedreno fixes:
 gl-3.2-pointsprite-origin
 gl-3.2-pointsprite-origin -fbo

Fixes: d934d320 "nir: Add flipping of gl_PointCoord.y in nir_lower_wpos_ytransform."
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8200>
src/compiler/nir/meson.build
src/compiler/nir/nir.h
src/compiler/nir/nir_lower_pntc_ytransform.c [new file with mode: 0644]
src/compiler/nir/nir_lower_wpos_ytransform.c
src/mesa/program/prog_statevars.c
src/mesa/program/prog_statevars.h
src/mesa/state_tracker/st_glsl_to_nir.cpp