mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 08:10:09 +01:00
nir: add load_frag_coord system value intrinsic
Some drivers prefer to treat gl_FragCoord as a system value rather than a fragment shader input, see Const.GLSLFragCoordIsSysVal. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
5011923e09
commit
f1da97ef7a
3 changed files with 6 additions and 0 deletions
|
|
@ -1891,6 +1891,8 @@ nir_intrinsic_from_system_value(gl_system_value val)
|
|||
return nir_intrinsic_load_base_vertex;
|
||||
case SYSTEM_VALUE_INVOCATION_ID:
|
||||
return nir_intrinsic_load_invocation_id;
|
||||
case SYSTEM_VALUE_FRAG_COORD:
|
||||
return nir_intrinsic_load_frag_coord;
|
||||
case SYSTEM_VALUE_FRONT_FACE:
|
||||
return nir_intrinsic_load_front_face;
|
||||
case SYSTEM_VALUE_SAMPLE_ID:
|
||||
|
|
@ -1958,6 +1960,8 @@ nir_system_value_from_intrinsic(nir_intrinsic_op intrin)
|
|||
return SYSTEM_VALUE_BASE_VERTEX;
|
||||
case nir_intrinsic_load_invocation_id:
|
||||
return SYSTEM_VALUE_INVOCATION_ID;
|
||||
case nir_intrinsic_load_frag_coord:
|
||||
return SYSTEM_VALUE_FRAG_COORD;
|
||||
case nir_intrinsic_load_front_face:
|
||||
return SYSTEM_VALUE_FRONT_FACE;
|
||||
case nir_intrinsic_load_sample_id:
|
||||
|
|
|
|||
|
|
@ -227,6 +227,7 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader)
|
|||
}
|
||||
|
||||
case nir_intrinsic_load_draw_id:
|
||||
case nir_intrinsic_load_frag_coord:
|
||||
case nir_intrinsic_load_front_face:
|
||||
case nir_intrinsic_load_vertex_id:
|
||||
case nir_intrinsic_load_vertex_id_zero_base:
|
||||
|
|
|
|||
|
|
@ -322,6 +322,7 @@ INTRINSIC(shared_atomic_comp_swap, 3, ARR(1, 1, 1), true, 1, 0, 1, BASE, xx, xx,
|
|||
idx0, idx1, idx2, \
|
||||
NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
|
||||
|
||||
SYSTEM_VALUE(frag_coord, 4, 0, xx, xx, xx)
|
||||
SYSTEM_VALUE(front_face, 1, 0, xx, xx, xx)
|
||||
SYSTEM_VALUE(vertex_id, 1, 0, xx, xx, xx)
|
||||
SYSTEM_VALUE(vertex_id_zero_base, 1, 0, xx, xx, xx)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue