mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-17 06:00:35 +01:00
nir: Add some new panfrost fragment shader intrinsics
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com> Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39244>
This commit is contained in:
parent
feadf303b9
commit
6fc1030e4f
2 changed files with 23 additions and 0 deletions
|
|
@ -279,6 +279,7 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
|
|||
case nir_intrinsic_load_provoking_vtx_amd:
|
||||
case nir_intrinsic_load_sample_positions_pan:
|
||||
case nir_intrinsic_load_shader_output_pan:
|
||||
case nir_intrinsic_load_blend_descriptor_pan:
|
||||
case nir_intrinsic_load_workgroup_num_input_vertices_amd:
|
||||
case nir_intrinsic_load_workgroup_num_input_primitives_amd:
|
||||
case nir_intrinsic_load_pipeline_stat_query_enabled_amd:
|
||||
|
|
@ -1019,6 +1020,10 @@ visit_intrinsic(nir_intrinsic_instr *instr, struct divergence_state *state)
|
|||
case nir_intrinsic_bvh_stack_rtn_amd:
|
||||
case nir_intrinsic_cmat_load_shared_nv:
|
||||
case nir_intrinsic_cmat_mov_transpose_nv:
|
||||
case nir_intrinsic_load_cumulative_coverage_pan:
|
||||
case nir_intrinsic_load_blend_input_pan:
|
||||
case nir_intrinsic_atest_pan:
|
||||
case nir_intrinsic_zs_emit_pan:
|
||||
is_divergent = true;
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -1728,6 +1728,24 @@ system_value("multisampled_pan", 1, bit_sizes=[32])
|
|||
# noperspective, this is 32 bits and starts from VARYING_SLOT_VAR0.
|
||||
system_value("noperspective_varyings_pan", 1, bit_sizes=[32])
|
||||
|
||||
# Cumulative coverage mask, the start of the atest/zt/blend chain
|
||||
system_value("cumulative_coverage_pan", 1, bit_sizes=[32])
|
||||
system_value("blend_descriptor_pan", 1, bit_sizes=[64], indices=[BASE])
|
||||
|
||||
load("blend_input_pan", [], [IO_SEMANTICS, DEST_TYPE],
|
||||
[CAN_ELIMINATE, CAN_REORDER])
|
||||
# src[] = { coverage, alpha }
|
||||
intrinsic("atest_pan", [1, 1], dest_comp=1, bit_sizes=[32])
|
||||
# src[] = { coverage, depth, stencil }
|
||||
intrinsic("zs_emit_pan", [1, 1, 1], dest_comp=1,
|
||||
indices=[FLAGS], bit_sizes=[32])
|
||||
# src[] = { coverage, desc, color }
|
||||
intrinsic("blend_pan", [1, 1, 4], indices=[IO_SEMANTICS, SRC_TYPE])
|
||||
# src[] = { coverage, desc, color1, color2 }
|
||||
intrinsic("blend2_pan", [1, 1, 4, 4],
|
||||
indices=[IO_SEMANTICS, SRC_TYPE, DEST_TYPE])
|
||||
barrier("blend_return_pan")
|
||||
|
||||
# System values for SPV_ARM_core_builtins
|
||||
system_value("core_count_arm", 1, bit_sizes=[32])
|
||||
system_value("core_max_id_arm", 1, bit_sizes=[32])
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue