mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 13:48:06 +02:00
nir: Add a load_sysval_nv intrinsic
Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25000>
This commit is contained in:
parent
abf3175161
commit
5984265d45
3 changed files with 7 additions and 1 deletions
|
|
@ -2084,7 +2084,8 @@ nir_intrinsic_can_reorder(nir_intrinsic_instr *instr)
|
|||
} else if (instr->intrinsic == nir_intrinsic_load_ssbo ||
|
||||
instr->intrinsic == nir_intrinsic_bindless_image_load ||
|
||||
instr->intrinsic == nir_intrinsic_image_deref_load ||
|
||||
instr->intrinsic == nir_intrinsic_image_load) {
|
||||
instr->intrinsic == nir_intrinsic_image_load ||
|
||||
instr->intrinsic == nir_intrinsic_load_sysval_nv) {
|
||||
return nir_intrinsic_access(instr) & ACCESS_CAN_REORDER;
|
||||
} else {
|
||||
const nir_intrinsic_info *info =
|
||||
|
|
|
|||
|
|
@ -606,6 +606,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr)
|
|||
case nir_intrinsic_load_ray_hit_kind:
|
||||
case nir_intrinsic_load_ray_flags:
|
||||
case nir_intrinsic_load_cull_mask:
|
||||
case nir_intrinsic_load_sysval_nv:
|
||||
case nir_intrinsic_report_ray_intersection:
|
||||
case nir_intrinsic_rq_proceed:
|
||||
case nir_intrinsic_rq_load:
|
||||
|
|
|
|||
|
|
@ -1954,6 +1954,10 @@ system_value("leaf_procedural_intel", 1, bit_sizes=[1])
|
|||
system_value("btd_shader_type_intel", 1)
|
||||
system_value("ray_query_global_intel", 1, bit_sizes=[64])
|
||||
|
||||
# NVIDIA-specific intrinsics
|
||||
intrinsic("load_sysval_nv", dest_comp=1, src_comp=[], bit_sizes=[32, 64],
|
||||
indices=[ACCESS, BASE], flags=[CAN_ELIMINATE])
|
||||
|
||||
# In order to deal with flipped render targets, gl_PointCoord may be flipped
|
||||
# in the shader requiring a shader key or extra instructions or it may be
|
||||
# flipped in hardware based on a state bit. This version of gl_PointCoord
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue