nir: add intrinsics for Z calculation in shaders with FSR
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38996>
This commit is contained in:
parent
89a53f048a
commit
98194dfa0b
2 changed files with 12 additions and 0 deletions
|
|
@ -351,6 +351,9 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
|
|||
case nir_intrinsic_load_constant_base_ptr:
|
||||
case nir_intrinsic_load_const_buf_base_addr_lvp:
|
||||
case nir_intrinsic_load_max_polygon_intel:
|
||||
case nir_intrinsic_load_fs_start_intel:
|
||||
case nir_intrinsic_load_fs_z_c_intel:
|
||||
case nir_intrinsic_load_fs_z_c0_intel:
|
||||
case nir_intrinsic_load_ray_base_mem_addr_intel:
|
||||
case nir_intrinsic_load_ray_hw_stack_size_intel:
|
||||
case nir_intrinsic_load_per_primitive_remap_intel:
|
||||
|
|
|
|||
|
|
@ -2484,6 +2484,15 @@ image("store_raw_intel", src_comp=[1, 0])
|
|||
# Maximum number of polygons processed in the fragment shader
|
||||
system_value("max_polygon_intel", 1, bit_sizes=[32])
|
||||
|
||||
# Maximum number of polygons processed in the fragment shader
|
||||
intel_fs_values = [
|
||||
(2, "start"), # X/Y coordinate (screen space) for upper-left vertex of a triangle being rasterized
|
||||
(2, "z_c"), # z_c – Cx/Cy for z plane
|
||||
(1, "z_c0"), # z_c0 – Co for z plane
|
||||
]
|
||||
for v in intel_fs_values:
|
||||
system_value("fs_{0}_intel".format(v[1]), v[0], bit_sizes=[32])
|
||||
|
||||
# Read the attribute thread payload at a given byte offset
|
||||
# src[] = { offset }
|
||||
load("attribute_payload_intel", [1], flags=[CAN_ELIMINATE, CAN_REORDER])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue