treewide: Use nir_shader_intrinsic_pass sometimes
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Wed, 23 Aug 2023 16:48:10 +0000 (12:48 -0400)
committerMarge Bot <emma+marge@anholt.net>
Thu, 24 Aug 2023 15:48:02 +0000 (15:48 +0000)
commit465b138f01d041b17f4e590acf163c33e3d4f1c4
tree228b3ffb9704273758995f5dddc9846ac6bb7b93
parent5fa9f842b09694a91310640ae949327a74d1bcd2
treewide: Use nir_shader_intrinsic_pass sometimes

This converts a lot of trivial passes. Nice boilerplate deletion. Via Coccinelle
patch (with a small manual fix-up for panfrost where coccinelle got confused by
genxml + ninja clang-format squashed in, and for Zink because my semantic patch
was slightly buggy).

    @def@
    typedef bool;
    typedef nir_builder;
    typedef nir_instr;
    typedef nir_def;
    identifier fn, instr, intr, x, builder, data;
    @@

    static fn(nir_builder* builder,
    -nir_instr *instr,
    +nir_intrinsic_instr *intr,
    ...)
    {
    (
    -   if (instr->type != nir_instr_type_intrinsic)
    -      return false;
    -   nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
    |
    -   nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
    -   if (instr->type != nir_instr_type_intrinsic)
    -      return false;
    )

    <...
    (
    -instr->x
    +intr->instr.x
    |
    -instr
    +&intr->instr
    )
    ...>

    }

    @pass depends on def@
    identifier def.fn;
    expression shader, progress;
    @@

    (
    -nir_shader_instructions_pass(shader, fn,
    +nir_shader_intrinsics_pass(shader, fn,
    ...)
    |
    -NIR_PASS_V(shader, nir_shader_instructions_pass, fn,
    +NIR_PASS_V(shader, nir_shader_intrinsics_pass, fn,
    ...)
    |
    -NIR_PASS(progress, shader, nir_shader_instructions_pass, fn,
    +NIR_PASS(progress, shader, nir_shader_intrinsics_pass, fn,
    ...)
    )

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24852>
68 files changed:
src/amd/common/ac_nir_lower_esgs_io_to_mem.c
src/amd/common/ac_nir_lower_global_access.c
src/amd/common/ac_nir_lower_tess_io_to_mem.c
src/amd/vulkan/nir/radv_nir_lower_abi.c
src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c
src/asahi/compiler/agx_nir_lower_discard_zs_emit.c
src/asahi/compiler/agx_nir_lower_sample_mask.c
src/asahi/compiler/agx_nir_lower_texture.c
src/asahi/lib/agx_nir_lower_msaa.c
src/asahi/lib/agx_nir_lower_sample_intrinsics.c
src/broadcom/compiler/v3d_nir_lower_image_load_store.c
src/broadcom/compiler/v3d_nir_lower_load_store_bitsize.c
src/broadcom/compiler/v3d_nir_lower_scratch.c
src/broadcom/vulkan/v3dv_pipeline.c
src/compiler/nir/nir_lower_clip_disable.c
src/compiler/nir/nir_lower_clip_halfz.c
src/compiler/nir/nir_lower_fb_read.c
src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c
src/compiler/nir/nir_lower_helper_writes.c
src/compiler/nir/nir_lower_point_smooth.c
src/compiler/nir/nir_lower_single_sampled.c
src/compiler/nir/nir_lower_tess_coord_z.c
src/compiler/nir/nir_lower_var_copies.c
src/compiler/nir/nir_lower_viewport_transform.c
src/compiler/nir/nir_lower_wpos_center.c
src/compiler/nir/nir_split_var_copies.c
src/freedreno/vulkan/tu_shader.cc
src/gallium/drivers/asahi/agx_nir_lower_sysvals.c
src/gallium/drivers/asahi/agx_streamout.c
src/gallium/drivers/d3d12/d3d12_lower_image_casts.c
src/gallium/drivers/d3d12/d3d12_nir_passes.c
src/gallium/drivers/panfrost/pan_nir_remove_fragcolor_stores.c
src/gallium/drivers/r600/sfn/sfn_nir.cpp
src/gallium/drivers/radeonsi/si_nir_lower_vs_inputs.c
src/gallium/drivers/radeonsi/si_nir_optim.c
src/gallium/drivers/radeonsi/si_shader.c
src/gallium/drivers/v3d/v3d_program.c
src/gallium/drivers/zink/zink_compiler.c
src/gallium/frontends/lavapipe/lvp_lower_exec_graph.c
src/gallium/frontends/lavapipe/lvp_lower_vulkan_resource.c
src/gallium/frontends/lavapipe/lvp_pipeline.c
src/intel/blorp/blorp.c
src/intel/compiler/brw_mesh.cpp
src/intel/compiler/brw_nir.c
src/intel/compiler/brw_nir_clamp_per_vertex_loads.c
src/intel/compiler/brw_nir_lower_non_uniform_resource_intel.c
src/intel/compiler/brw_nir_lower_shading_rate_output.c
src/intel/vulkan/anv_internal_kernels.c
src/intel/vulkan/anv_nir_lower_load_patch_vertices_in.c
src/intel/vulkan/anv_nir_lower_resource_intel.c
src/intel/vulkan/anv_nir_lower_ubo_loads.c
src/intel/vulkan/anv_pipeline.c
src/intel/vulkan_hasvk/anv_nir_lower_ubo_loads.c
src/mesa/state_tracker/st_nir_lower_builtin.c
src/microsoft/compiler/dxil_nir.c
src/microsoft/spirv_to_dxil/dxil_spirv_nir.c
src/nouveau/vulkan/nvk_shader.c
src/panfrost/compiler/bi_lower_divergent_indirects.c
src/panfrost/compiler/bifrost_compile.c
src/panfrost/lib/pan_blend.c
src/panfrost/lib/pan_blitter.c
src/panfrost/midgard/midgard_compile.c
src/panfrost/midgard/midgard_nir_lower_image_bitsize.c
src/panfrost/util/pan_lower_64bit_intrin.c
src/panfrost/util/pan_lower_helper_invocation.c
src/panfrost/util/pan_lower_store_component.c
src/panfrost/util/pan_lower_xfb.c
src/panfrost/vulkan/panvk_vX_shader.c