mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 20:50:09 +01:00
nir: Add SYSTEM_VALUE_FRAG_COORD_Z/W.
Intel's going to use these. Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25190>
This commit is contained in:
parent
7db62e6dad
commit
8fa6d473e7
4 changed files with 9 additions and 0 deletions
|
|
@ -680,6 +680,8 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader,
|
|||
case nir_intrinsic_load_invocation_id:
|
||||
case nir_intrinsic_load_frag_coord:
|
||||
case nir_intrinsic_load_pixel_coord:
|
||||
case nir_intrinsic_load_frag_coord_z:
|
||||
case nir_intrinsic_load_frag_coord_w:
|
||||
case nir_intrinsic_load_frag_shading_rate:
|
||||
case nir_intrinsic_load_fully_covered:
|
||||
case nir_intrinsic_load_point_coord:
|
||||
|
|
|
|||
|
|
@ -18,9 +18,12 @@ lower(nir_builder *b, nir_intrinsic_instr *intr, UNUSED void *data)
|
|||
*/
|
||||
b->cursor = nir_before_instr(&intr->instr);
|
||||
nir_def *xy = nir_u2f32(b, nir_load_pixel_coord(b));
|
||||
BITSET_SET(b->shader->info.system_values_read, SYSTEM_VALUE_PIXEL_COORD);
|
||||
nir_def *vec = nir_vec4(b, nir_channel(b, xy, 0), nir_channel(b, xy, 1),
|
||||
nir_load_frag_coord_z(b),
|
||||
nir_load_frag_coord_w(b));
|
||||
BITSET_SET(b->shader->info.system_values_read, SYSTEM_VALUE_FRAG_COORD_Z);
|
||||
BITSET_SET(b->shader->info.system_values_read, SYSTEM_VALUE_FRAG_COORD_W);
|
||||
nir_def_rewrite_uses(&intr->def, vec);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -328,6 +328,8 @@ gl_system_value_name(gl_system_value sysval)
|
|||
ENUM(SYSTEM_VALUE_INVOCATION_ID),
|
||||
ENUM(SYSTEM_VALUE_FRAG_COORD),
|
||||
ENUM(SYSTEM_VALUE_PIXEL_COORD),
|
||||
ENUM(SYSTEM_VALUE_FRAG_COORD_Z),
|
||||
ENUM(SYSTEM_VALUE_FRAG_COORD_W),
|
||||
ENUM(SYSTEM_VALUE_POINT_COORD),
|
||||
ENUM(SYSTEM_VALUE_LINE_COORD),
|
||||
ENUM(SYSTEM_VALUE_FRONT_FACE),
|
||||
|
|
|
|||
|
|
@ -783,6 +783,8 @@ typedef enum
|
|||
/*@{*/
|
||||
SYSTEM_VALUE_FRAG_COORD,
|
||||
SYSTEM_VALUE_PIXEL_COORD,
|
||||
SYSTEM_VALUE_FRAG_COORD_Z,
|
||||
SYSTEM_VALUE_FRAG_COORD_W,
|
||||
SYSTEM_VALUE_POINT_COORD,
|
||||
SYSTEM_VALUE_LINE_COORD, /**< Coord along axis perpendicular to line */
|
||||
SYSTEM_VALUE_FRONT_FACE,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue