mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 08:08:06 +02:00
nir/lower_pntc_ytransform: Support PointCoordIsSysval
Pattern match the point coord sysval and support lowering it as well. This is required to handle flipped framebuffers on Bifrost. However, what this pass normalizes to is the opposite of the hardware mode we used on Bifrost before, so we need to swap modes at the same time to prevent regressions. Fixes Piglit glsl-fs-pointcoord and glsl-fs-pointcoord_gles2 Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13073>
This commit is contained in:
parent
43322ceccd
commit
e257344a82
3 changed files with 8 additions and 5 deletions
|
|
@ -94,8 +94,10 @@ lower_pntc_ytransform_block(lower_pntc_ytransform_state *state,
|
|||
nir_deref_instr *deref = nir_src_as_deref(intr->src[0]);
|
||||
nir_variable *var = nir_deref_instr_get_variable(deref);
|
||||
|
||||
if (var->data.mode == nir_var_shader_in &&
|
||||
var->data.location == VARYING_SLOT_PNTC) {
|
||||
if ((var->data.mode == nir_var_shader_in &&
|
||||
var->data.location == VARYING_SLOT_PNTC) ||
|
||||
(var->data.mode == nir_var_system_value &&
|
||||
var->data.location == SYSTEM_VALUE_POINT_COORD)) {
|
||||
lower_load_pointcoord(state, intr);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ glx@glx-swap-pixmap-bad,Fail
|
|||
glx@glx-visuals-depth -pixmap,Crash
|
||||
glx@glx-visuals-stencil -pixmap,Crash
|
||||
shaders@glsl-bug-110796,Fail
|
||||
shaders@glsl-fs-pointcoord,Fail
|
||||
shaders@glsl-uniform-interstage-limits@subdivide 5,Crash
|
||||
shaders@glsl-uniform-interstage-limits@subdivide 5- statechanges,Crash
|
||||
shaders@glsl-vs-if-bool,Fail
|
||||
|
|
@ -101,7 +100,6 @@ spec@arb_fragment_program@sparse-samplers,Crash
|
|||
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit depth gl_depth32f_stencil8,Fail
|
||||
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit depth_stencil gl_depth32f_stencil8,Fail
|
||||
spec@arb_framebuffer_object@arb_framebuffer_object-depth-stencil-blit stencil gl_depth32f_stencil8,Fail
|
||||
spec@arb_framebuffer_object@fbo-gl_pointcoord,Fail
|
||||
spec@arb_framebuffer_object@fbo-luminance-alpha,Fail
|
||||
spec@arb_framebuffer_srgb@fbo-fast-clear,Fail
|
||||
spec@arb_get_program_binary@restore-sso-program,Fail
|
||||
|
|
@ -1282,6 +1280,5 @@ spec@!opengl 3.1@primitive-restart-xfb generated,Fail
|
|||
spec@!opengl 3.1@primitive-restart-xfb written,Fail
|
||||
spec@!opengl 3.1@required-texture-attachment-formats,Fail
|
||||
spec@!opengl 3.2@coord-replace-doesnt-eliminate-frag-tex-coords,Fail
|
||||
spec@!opengl es 2.0@glsl-fs-pointcoord,Fail
|
||||
spec@!opengl es 3.0@ext_texture_array-compressed_gles3 texsubimage,Fail
|
||||
spec@!opengl es 3.0@gles-3.0-transform-feedback-uniform-buffer-object,Fail
|
||||
|
|
|
|||
|
|
@ -142,6 +142,10 @@ pan_shader_prepare_bifrost_rsd(const struct pan_shader_info *info,
|
|||
rsd->properties.shader_wait_dependency_7 = info->bifrost.wait_7;
|
||||
#endif
|
||||
|
||||
/* Match the mesa/st convention. If this needs to be flipped,
|
||||
* nir_lower_pntc_ytransform will do so. */
|
||||
rsd->properties.point_sprite_coord_origin_max_y = true;
|
||||
|
||||
rsd->properties.allow_forward_pixel_to_be_killed =
|
||||
!info->fs.sidefx;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue