nir: add sysval for user-clip-planes
For lowering user-clip-planes, we need a way to pass the enabled/used user-clip-planes in to shader. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -128,21 +128,22 @@ INTRINSIC(image_size, 0, ARR(), true, 4, 1, 0,
|
|||||||
INTRINSIC(image_samples, 0, ARR(), true, 1, 1, 0,
|
INTRINSIC(image_samples, 0, ARR(), true, 1, 1, 0,
|
||||||
NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
|
NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
|
||||||
|
|
||||||
#define SYSTEM_VALUE(name, components) \
|
#define SYSTEM_VALUE(name, components, num_indices) \
|
||||||
INTRINSIC(load_##name, 0, ARR(), true, components, 0, 0, \
|
INTRINSIC(load_##name, 0, ARR(), true, components, 0, num_indices, \
|
||||||
NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
|
NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER)
|
||||||
|
|
||||||
SYSTEM_VALUE(front_face, 1)
|
SYSTEM_VALUE(front_face, 1, 0)
|
||||||
SYSTEM_VALUE(vertex_id, 1)
|
SYSTEM_VALUE(vertex_id, 1, 0)
|
||||||
SYSTEM_VALUE(vertex_id_zero_base, 1)
|
SYSTEM_VALUE(vertex_id_zero_base, 1, 0)
|
||||||
SYSTEM_VALUE(base_vertex, 1)
|
SYSTEM_VALUE(base_vertex, 1, 0)
|
||||||
SYSTEM_VALUE(instance_id, 1)
|
SYSTEM_VALUE(instance_id, 1, 0)
|
||||||
SYSTEM_VALUE(sample_id, 1)
|
SYSTEM_VALUE(sample_id, 1, 0)
|
||||||
SYSTEM_VALUE(sample_pos, 2)
|
SYSTEM_VALUE(sample_pos, 2, 0)
|
||||||
SYSTEM_VALUE(sample_mask_in, 1)
|
SYSTEM_VALUE(sample_mask_in, 1, 0)
|
||||||
SYSTEM_VALUE(invocation_id, 1)
|
SYSTEM_VALUE(invocation_id, 1, 0)
|
||||||
SYSTEM_VALUE(local_invocation_id, 3)
|
SYSTEM_VALUE(local_invocation_id, 3, 0)
|
||||||
SYSTEM_VALUE(work_group_id, 3)
|
SYSTEM_VALUE(work_group_id, 3, 0)
|
||||||
|
SYSTEM_VALUE(user_clip_plane, 4, 1) /* const_index[0] is user_clip_plane[idx] */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The format of the indices depends on the type of the load. For uniforms,
|
* The format of the indices depends on the type of the load. For uniforms,
|
||||||
|
Reference in New Issue
Block a user