mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 21:50:12 +01:00
nvk: Convert system values for gl_PointCoord and PointCoord into inputs
Currently, any attempt to use gl_PointCoord (GLSL) or PointCoord (SPIR-V) results in an assert in codegen: ERROR: unknown nir_intrinsic_op load_point_coord This patch addresses the error by converting nir_intrinsic_load_point_coord system value into VARYING_SLOT_PNTC. The following tests now pass: dEQP-VK.glsl.builtin_var.simple.pointcoord dEQP-VK.glsl.builtin_var.simple.pointcoord_uniform_frag dEQP-VK.glsl.builtin_var.simple.pointcoord_uniform_vert Closes: https://gitlab.freedesktop.org/nouveau/mesa/-/issues/33 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
This commit is contained in:
parent
a08ad59ea6
commit
45c2ebc341
1 changed files with 6 additions and 0 deletions
|
|
@ -203,6 +203,12 @@ lower_fragcoord_instr(nir_builder *b, nir_instr *instr, UNUSED void *_data)
|
|||
VARYING_SLOT_POS);
|
||||
val = nir_load_var(b, var);
|
||||
break;
|
||||
case nir_intrinsic_load_point_coord:
|
||||
var = find_or_create_input(b, glsl_vector_type(GLSL_TYPE_FLOAT, 2),
|
||||
"gl_PointCoord",
|
||||
VARYING_SLOT_PNTC);
|
||||
val = nir_load_var(b, var);
|
||||
break;
|
||||
case nir_intrinsic_load_sample_pos:
|
||||
var = find_or_create_input(b, glsl_vec4_type(),
|
||||
"gl_FragCoord",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue