110e230b6Smaya/* Copyright (C) 2018 Red Hat 210e230b6Smaya * 310e230b6Smaya * Permission is hereby granted, free of charge, to any person obtaining a 410e230b6Smaya * copy of this software and associated documentation files (the "Software"), 510e230b6Smaya * to deal in the Software without restriction, including without limitation 610e230b6Smaya * the rights to use, copy, modify, merge, publish, distribute, sublicense, 710e230b6Smaya * and/or sell copies of the Software, and to permit persons to whom the 810e230b6Smaya * Software is furnished to do so, subject to the following conditions: 910e230b6Smaya * 1010e230b6Smaya * The above copyright notice and this permission notice (including the next 1110e230b6Smaya * paragraph) shall be included in all copies or substantial portions of the 1210e230b6Smaya * Software. 1310e230b6Smaya * 1410e230b6Smaya * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1510e230b6Smaya * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1610e230b6Smaya * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1710e230b6Smaya * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 1810e230b6Smaya * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 1910e230b6Smaya * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 2010e230b6Smaya * IN THE SOFTWARE. 2110e230b6Smaya */ 2210e230b6Smaya 2310e230b6Smaya#ifndef _NIR_INTRINSICS_ 2410e230b6Smaya#define _NIR_INTRINSICS_ 2510e230b6Smaya 2610e230b6Smaya 2710e230b6Smaya 2810e230b6Smayatypedef enum { 2996c5ddc4Srjs nir_intrinsic_accept_ray_intersection, 3096c5ddc4Srjs nir_intrinsic_addr_mode_is, 3196c5ddc4Srjs nir_intrinsic_alloc_vertices_and_primitives_amd, 3210e230b6Smaya nir_intrinsic_atomic_counter_add, 3310e230b6Smaya nir_intrinsic_atomic_counter_add_deref, 3410e230b6Smaya nir_intrinsic_atomic_counter_and, 3510e230b6Smaya nir_intrinsic_atomic_counter_and_deref, 3610e230b6Smaya nir_intrinsic_atomic_counter_comp_swap, 3710e230b6Smaya nir_intrinsic_atomic_counter_comp_swap_deref, 3810e230b6Smaya nir_intrinsic_atomic_counter_exchange, 3910e230b6Smaya nir_intrinsic_atomic_counter_exchange_deref, 4010e230b6Smaya nir_intrinsic_atomic_counter_inc, 4110e230b6Smaya nir_intrinsic_atomic_counter_inc_deref, 4210e230b6Smaya nir_intrinsic_atomic_counter_max, 4310e230b6Smaya nir_intrinsic_atomic_counter_max_deref, 4410e230b6Smaya nir_intrinsic_atomic_counter_min, 4510e230b6Smaya nir_intrinsic_atomic_counter_min_deref, 4610e230b6Smaya nir_intrinsic_atomic_counter_or, 4710e230b6Smaya nir_intrinsic_atomic_counter_or_deref, 4810e230b6Smaya nir_intrinsic_atomic_counter_post_dec, 4910e230b6Smaya nir_intrinsic_atomic_counter_post_dec_deref, 5010e230b6Smaya nir_intrinsic_atomic_counter_pre_dec, 5110e230b6Smaya nir_intrinsic_atomic_counter_pre_dec_deref, 5210e230b6Smaya nir_intrinsic_atomic_counter_read, 5310e230b6Smaya nir_intrinsic_atomic_counter_read_deref, 5410e230b6Smaya nir_intrinsic_atomic_counter_xor, 5510e230b6Smaya nir_intrinsic_atomic_counter_xor_deref, 5610e230b6Smaya nir_intrinsic_ballot, 5710e230b6Smaya nir_intrinsic_ballot_bit_count_exclusive, 5810e230b6Smaya nir_intrinsic_ballot_bit_count_inclusive, 5910e230b6Smaya nir_intrinsic_ballot_bit_count_reduce, 6010e230b6Smaya nir_intrinsic_ballot_bitfield_extract, 6110e230b6Smaya nir_intrinsic_ballot_find_lsb, 6210e230b6Smaya nir_intrinsic_ballot_find_msb, 6310e230b6Smaya nir_intrinsic_begin_invocation_interlock, 6410e230b6Smaya nir_intrinsic_bindless_image_atomic_add, 6510e230b6Smaya nir_intrinsic_bindless_image_atomic_and, 6610e230b6Smaya nir_intrinsic_bindless_image_atomic_comp_swap, 6796c5ddc4Srjs nir_intrinsic_bindless_image_atomic_dec_wrap, 6810e230b6Smaya nir_intrinsic_bindless_image_atomic_exchange, 6910e230b6Smaya nir_intrinsic_bindless_image_atomic_fadd, 7096c5ddc4Srjs nir_intrinsic_bindless_image_atomic_fmax, 7196c5ddc4Srjs nir_intrinsic_bindless_image_atomic_fmin, 7296c5ddc4Srjs nir_intrinsic_bindless_image_atomic_imax, 7396c5ddc4Srjs nir_intrinsic_bindless_image_atomic_imin, 7496c5ddc4Srjs nir_intrinsic_bindless_image_atomic_inc_wrap, 7510e230b6Smaya nir_intrinsic_bindless_image_atomic_or, 7696c5ddc4Srjs nir_intrinsic_bindless_image_atomic_umax, 7796c5ddc4Srjs nir_intrinsic_bindless_image_atomic_umin, 7810e230b6Smaya nir_intrinsic_bindless_image_atomic_xor, 7996c5ddc4Srjs nir_intrinsic_bindless_image_format, 8010e230b6Smaya nir_intrinsic_bindless_image_load, 8110e230b6Smaya nir_intrinsic_bindless_image_load_raw_intel, 8296c5ddc4Srjs nir_intrinsic_bindless_image_order, 8310e230b6Smaya nir_intrinsic_bindless_image_samples, 8410e230b6Smaya nir_intrinsic_bindless_image_size, 8596c5ddc4Srjs nir_intrinsic_bindless_image_sparse_load, 8610e230b6Smaya nir_intrinsic_bindless_image_store, 8710e230b6Smaya nir_intrinsic_bindless_image_store_raw_intel, 8896c5ddc4Srjs nir_intrinsic_bindless_resource_ir3, 8996c5ddc4Srjs nir_intrinsic_btd_retire_intel, 9096c5ddc4Srjs nir_intrinsic_btd_spawn_intel, 9196c5ddc4Srjs nir_intrinsic_btd_stack_push_intel, 9296c5ddc4Srjs nir_intrinsic_bvh64_intersect_ray_amd, 9396c5ddc4Srjs nir_intrinsic_byte_permute_amd, 9496c5ddc4Srjs nir_intrinsic_cond_end_ir3, 9596c5ddc4Srjs nir_intrinsic_control_barrier, 9696c5ddc4Srjs nir_intrinsic_convert_alu_types, 9710e230b6Smaya nir_intrinsic_copy_deref, 9896c5ddc4Srjs nir_intrinsic_demote, 9996c5ddc4Srjs nir_intrinsic_demote_if, 10010e230b6Smaya nir_intrinsic_deref_atomic_add, 10110e230b6Smaya nir_intrinsic_deref_atomic_and, 10210e230b6Smaya nir_intrinsic_deref_atomic_comp_swap, 10310e230b6Smaya nir_intrinsic_deref_atomic_exchange, 10410e230b6Smaya nir_intrinsic_deref_atomic_fadd, 10510e230b6Smaya nir_intrinsic_deref_atomic_fcomp_swap, 10610e230b6Smaya nir_intrinsic_deref_atomic_fmax, 10710e230b6Smaya nir_intrinsic_deref_atomic_fmin, 10810e230b6Smaya nir_intrinsic_deref_atomic_imax, 10910e230b6Smaya nir_intrinsic_deref_atomic_imin, 11010e230b6Smaya nir_intrinsic_deref_atomic_or, 11110e230b6Smaya nir_intrinsic_deref_atomic_umax, 11210e230b6Smaya nir_intrinsic_deref_atomic_umin, 11310e230b6Smaya nir_intrinsic_deref_atomic_xor, 11410e230b6Smaya nir_intrinsic_deref_buffer_array_length, 11596c5ddc4Srjs nir_intrinsic_deref_mode_is, 11610e230b6Smaya nir_intrinsic_discard, 11710e230b6Smaya nir_intrinsic_discard_if, 11810e230b6Smaya nir_intrinsic_elect, 11910e230b6Smaya nir_intrinsic_emit_vertex, 12010e230b6Smaya nir_intrinsic_emit_vertex_with_counter, 12110e230b6Smaya nir_intrinsic_end_invocation_interlock, 12296c5ddc4Srjs nir_intrinsic_end_patch_ir3, 12310e230b6Smaya nir_intrinsic_end_primitive, 12410e230b6Smaya nir_intrinsic_end_primitive_with_counter, 12510e230b6Smaya nir_intrinsic_exclusive_scan, 12696c5ddc4Srjs nir_intrinsic_execute_callable, 12796c5ddc4Srjs nir_intrinsic_export_primitive_amd, 12896c5ddc4Srjs nir_intrinsic_export_vertex_amd, 12910e230b6Smaya nir_intrinsic_first_invocation, 13096c5ddc4Srjs nir_intrinsic_gds_atomic_add_amd, 13196c5ddc4Srjs nir_intrinsic_get_ssbo_size, 13296c5ddc4Srjs nir_intrinsic_get_ubo_size, 13310e230b6Smaya nir_intrinsic_global_atomic_add, 13410e230b6Smaya nir_intrinsic_global_atomic_and, 13510e230b6Smaya nir_intrinsic_global_atomic_comp_swap, 13610e230b6Smaya nir_intrinsic_global_atomic_exchange, 13710e230b6Smaya nir_intrinsic_global_atomic_fadd, 13810e230b6Smaya nir_intrinsic_global_atomic_fcomp_swap, 13910e230b6Smaya nir_intrinsic_global_atomic_fmax, 14010e230b6Smaya nir_intrinsic_global_atomic_fmin, 14110e230b6Smaya nir_intrinsic_global_atomic_imax, 14210e230b6Smaya nir_intrinsic_global_atomic_imin, 14310e230b6Smaya nir_intrinsic_global_atomic_or, 14410e230b6Smaya nir_intrinsic_global_atomic_umax, 14510e230b6Smaya nir_intrinsic_global_atomic_umin, 14610e230b6Smaya nir_intrinsic_global_atomic_xor, 14710e230b6Smaya nir_intrinsic_group_memory_barrier, 14896c5ddc4Srjs nir_intrinsic_has_input_primitive_amd, 14996c5ddc4Srjs nir_intrinsic_has_input_vertex_amd, 15096c5ddc4Srjs nir_intrinsic_ignore_ray_intersection, 15110e230b6Smaya nir_intrinsic_image_atomic_add, 15210e230b6Smaya nir_intrinsic_image_atomic_and, 15310e230b6Smaya nir_intrinsic_image_atomic_comp_swap, 15496c5ddc4Srjs nir_intrinsic_image_atomic_dec_wrap, 15510e230b6Smaya nir_intrinsic_image_atomic_exchange, 15610e230b6Smaya nir_intrinsic_image_atomic_fadd, 15796c5ddc4Srjs nir_intrinsic_image_atomic_fmax, 15896c5ddc4Srjs nir_intrinsic_image_atomic_fmin, 15996c5ddc4Srjs nir_intrinsic_image_atomic_imax, 16096c5ddc4Srjs nir_intrinsic_image_atomic_imin, 16196c5ddc4Srjs nir_intrinsic_image_atomic_inc_wrap, 16210e230b6Smaya nir_intrinsic_image_atomic_or, 16396c5ddc4Srjs nir_intrinsic_image_atomic_umax, 16496c5ddc4Srjs nir_intrinsic_image_atomic_umin, 16510e230b6Smaya nir_intrinsic_image_atomic_xor, 16610e230b6Smaya nir_intrinsic_image_deref_atomic_add, 16710e230b6Smaya nir_intrinsic_image_deref_atomic_and, 16810e230b6Smaya nir_intrinsic_image_deref_atomic_comp_swap, 16996c5ddc4Srjs nir_intrinsic_image_deref_atomic_dec_wrap, 17010e230b6Smaya nir_intrinsic_image_deref_atomic_exchange, 17110e230b6Smaya nir_intrinsic_image_deref_atomic_fadd, 17296c5ddc4Srjs nir_intrinsic_image_deref_atomic_fmax, 17396c5ddc4Srjs nir_intrinsic_image_deref_atomic_fmin, 17496c5ddc4Srjs nir_intrinsic_image_deref_atomic_imax, 17596c5ddc4Srjs nir_intrinsic_image_deref_atomic_imin, 17696c5ddc4Srjs nir_intrinsic_image_deref_atomic_inc_wrap, 17710e230b6Smaya nir_intrinsic_image_deref_atomic_or, 17896c5ddc4Srjs nir_intrinsic_image_deref_atomic_umax, 17996c5ddc4Srjs nir_intrinsic_image_deref_atomic_umin, 18010e230b6Smaya nir_intrinsic_image_deref_atomic_xor, 18196c5ddc4Srjs nir_intrinsic_image_deref_format, 18210e230b6Smaya nir_intrinsic_image_deref_load, 18310e230b6Smaya nir_intrinsic_image_deref_load_param_intel, 18410e230b6Smaya nir_intrinsic_image_deref_load_raw_intel, 18596c5ddc4Srjs nir_intrinsic_image_deref_order, 18610e230b6Smaya nir_intrinsic_image_deref_samples, 18710e230b6Smaya nir_intrinsic_image_deref_size, 18896c5ddc4Srjs nir_intrinsic_image_deref_sparse_load, 18910e230b6Smaya nir_intrinsic_image_deref_store, 19010e230b6Smaya nir_intrinsic_image_deref_store_raw_intel, 19196c5ddc4Srjs nir_intrinsic_image_format, 19210e230b6Smaya nir_intrinsic_image_load, 19310e230b6Smaya nir_intrinsic_image_load_raw_intel, 19496c5ddc4Srjs nir_intrinsic_image_order, 19510e230b6Smaya nir_intrinsic_image_samples, 19610e230b6Smaya nir_intrinsic_image_size, 19796c5ddc4Srjs nir_intrinsic_image_sparse_load, 19810e230b6Smaya nir_intrinsic_image_store, 19910e230b6Smaya nir_intrinsic_image_store_raw_intel, 20010e230b6Smaya nir_intrinsic_inclusive_scan, 20110e230b6Smaya nir_intrinsic_interp_deref_at_centroid, 20210e230b6Smaya nir_intrinsic_interp_deref_at_offset, 20310e230b6Smaya nir_intrinsic_interp_deref_at_sample, 20496c5ddc4Srjs nir_intrinsic_interp_deref_at_vertex, 20596c5ddc4Srjs nir_intrinsic_is_helper_invocation, 20696c5ddc4Srjs nir_intrinsic_is_sparse_texels_resident, 20796c5ddc4Srjs nir_intrinsic_lane_permute_16_amd, 20896c5ddc4Srjs nir_intrinsic_last_invocation, 20996c5ddc4Srjs nir_intrinsic_load_aa_line_width, 21096c5ddc4Srjs nir_intrinsic_load_back_face_agx, 21110e230b6Smaya nir_intrinsic_load_barycentric_at_offset, 21210e230b6Smaya nir_intrinsic_load_barycentric_at_sample, 21310e230b6Smaya nir_intrinsic_load_barycentric_centroid, 21496c5ddc4Srjs nir_intrinsic_load_barycentric_model, 21510e230b6Smaya nir_intrinsic_load_barycentric_pixel, 21610e230b6Smaya nir_intrinsic_load_barycentric_sample, 21796c5ddc4Srjs nir_intrinsic_load_base_global_invocation_id, 21810e230b6Smaya nir_intrinsic_load_base_instance, 21910e230b6Smaya nir_intrinsic_load_base_vertex, 22096c5ddc4Srjs nir_intrinsic_load_base_workgroup_id, 22110e230b6Smaya nir_intrinsic_load_blend_const_color_a_float, 22210e230b6Smaya nir_intrinsic_load_blend_const_color_aaaa8888_unorm, 22310e230b6Smaya nir_intrinsic_load_blend_const_color_b_float, 22410e230b6Smaya nir_intrinsic_load_blend_const_color_g_float, 22510e230b6Smaya nir_intrinsic_load_blend_const_color_r_float, 22696c5ddc4Srjs nir_intrinsic_load_blend_const_color_rgba, 22710e230b6Smaya nir_intrinsic_load_blend_const_color_rgba8888_unorm, 22896c5ddc4Srjs nir_intrinsic_load_btd_dss_id_intel, 22996c5ddc4Srjs nir_intrinsic_load_btd_global_arg_addr_intel, 23096c5ddc4Srjs nir_intrinsic_load_btd_local_arg_addr_intel, 23196c5ddc4Srjs nir_intrinsic_load_btd_resume_sbt_addr_intel, 23296c5ddc4Srjs nir_intrinsic_load_btd_stack_id_intel, 23396c5ddc4Srjs nir_intrinsic_load_buffer_amd, 23496c5ddc4Srjs nir_intrinsic_load_callable_sbt_addr_intel, 23596c5ddc4Srjs nir_intrinsic_load_callable_sbt_stride_intel, 23696c5ddc4Srjs nir_intrinsic_load_color0, 23796c5ddc4Srjs nir_intrinsic_load_color1, 23810e230b6Smaya nir_intrinsic_load_constant, 23996c5ddc4Srjs nir_intrinsic_load_constant_base_ptr, 24096c5ddc4Srjs nir_intrinsic_load_cull_any_enabled_amd, 24196c5ddc4Srjs nir_intrinsic_load_cull_back_face_enabled_amd, 24296c5ddc4Srjs nir_intrinsic_load_cull_ccw_amd, 24396c5ddc4Srjs nir_intrinsic_load_cull_front_face_enabled_amd, 24496c5ddc4Srjs nir_intrinsic_load_cull_small_prim_precision_amd, 24596c5ddc4Srjs nir_intrinsic_load_cull_small_primitives_enabled_amd, 24610e230b6Smaya nir_intrinsic_load_deref, 24796c5ddc4Srjs nir_intrinsic_load_deref_block_intel, 24896c5ddc4Srjs nir_intrinsic_load_desc_set_address_intel, 24910e230b6Smaya nir_intrinsic_load_draw_id, 25096c5ddc4Srjs nir_intrinsic_load_fb_layers_v3d, 25110e230b6Smaya nir_intrinsic_load_first_vertex, 25210e230b6Smaya nir_intrinsic_load_frag_coord, 25396c5ddc4Srjs nir_intrinsic_load_frag_shading_rate, 25410e230b6Smaya nir_intrinsic_load_front_face, 25596c5ddc4Srjs nir_intrinsic_load_fs_input_interp_deltas, 25610e230b6Smaya nir_intrinsic_load_global, 25796c5ddc4Srjs nir_intrinsic_load_global_block_intel, 25896c5ddc4Srjs nir_intrinsic_load_global_const_block_intel, 25996c5ddc4Srjs nir_intrinsic_load_global_constant, 26096c5ddc4Srjs nir_intrinsic_load_global_constant_bounded, 26196c5ddc4Srjs nir_intrinsic_load_global_constant_offset, 26210e230b6Smaya nir_intrinsic_load_global_invocation_id, 26396c5ddc4Srjs nir_intrinsic_load_global_invocation_id_zero_base, 26410e230b6Smaya nir_intrinsic_load_global_invocation_index, 26596c5ddc4Srjs nir_intrinsic_load_global_ir3, 26696c5ddc4Srjs nir_intrinsic_load_gs_header_ir3, 26796c5ddc4Srjs nir_intrinsic_load_gs_vertex_offset_amd, 26810e230b6Smaya nir_intrinsic_load_helper_invocation, 26996c5ddc4Srjs nir_intrinsic_load_hs_patch_stride_ir3, 27096c5ddc4Srjs nir_intrinsic_load_initial_edgeflags_amd, 27110e230b6Smaya nir_intrinsic_load_input, 27296c5ddc4Srjs nir_intrinsic_load_input_vertex, 27310e230b6Smaya nir_intrinsic_load_instance_id, 27410e230b6Smaya nir_intrinsic_load_interpolated_input, 27596c5ddc4Srjs nir_intrinsic_load_intersection_opaque_amd, 27610e230b6Smaya nir_intrinsic_load_invocation_id, 27710e230b6Smaya nir_intrinsic_load_is_indexed_draw, 27810e230b6Smaya nir_intrinsic_load_kernel_input, 27910e230b6Smaya nir_intrinsic_load_layer_id, 28096c5ddc4Srjs nir_intrinsic_load_leaf_opaque_intel, 28196c5ddc4Srjs nir_intrinsic_load_leaf_procedural_intel, 28296c5ddc4Srjs nir_intrinsic_load_line_coord, 28396c5ddc4Srjs nir_intrinsic_load_line_width, 28410e230b6Smaya nir_intrinsic_load_local_invocation_id, 28510e230b6Smaya nir_intrinsic_load_local_invocation_index, 28696c5ddc4Srjs nir_intrinsic_load_local_shared_r600, 28710e230b6Smaya nir_intrinsic_load_num_subgroups, 28896c5ddc4Srjs nir_intrinsic_load_num_workgroups, 28910e230b6Smaya nir_intrinsic_load_output, 29096c5ddc4Srjs nir_intrinsic_load_packed_passthrough_primitive_amd, 29110e230b6Smaya nir_intrinsic_load_param, 29210e230b6Smaya nir_intrinsic_load_patch_vertices_in, 29396c5ddc4Srjs nir_intrinsic_load_per_primitive_output, 29410e230b6Smaya nir_intrinsic_load_per_vertex_input, 29510e230b6Smaya nir_intrinsic_load_per_vertex_output, 29696c5ddc4Srjs nir_intrinsic_load_point_coord, 29710e230b6Smaya nir_intrinsic_load_primitive_id, 29896c5ddc4Srjs nir_intrinsic_load_primitive_location_ir3, 29996c5ddc4Srjs nir_intrinsic_load_printf_buffer_address, 30096c5ddc4Srjs nir_intrinsic_load_ptr_dxil, 30110e230b6Smaya nir_intrinsic_load_push_constant, 30296c5ddc4Srjs nir_intrinsic_load_raw_output_pan, 30396c5ddc4Srjs nir_intrinsic_load_ray_base_mem_addr_intel, 30496c5ddc4Srjs nir_intrinsic_load_ray_flags, 30596c5ddc4Srjs nir_intrinsic_load_ray_geometry_index, 30696c5ddc4Srjs nir_intrinsic_load_ray_hit_kind, 30796c5ddc4Srjs nir_intrinsic_load_ray_hit_sbt_addr_intel, 30896c5ddc4Srjs nir_intrinsic_load_ray_hit_sbt_stride_intel, 30996c5ddc4Srjs nir_intrinsic_load_ray_hw_stack_size_intel, 31096c5ddc4Srjs nir_intrinsic_load_ray_instance_custom_index, 31196c5ddc4Srjs nir_intrinsic_load_ray_launch_id, 31296c5ddc4Srjs nir_intrinsic_load_ray_launch_size, 31396c5ddc4Srjs nir_intrinsic_load_ray_miss_sbt_addr_intel, 31496c5ddc4Srjs nir_intrinsic_load_ray_miss_sbt_stride_intel, 31596c5ddc4Srjs nir_intrinsic_load_ray_num_dss_rt_stacks_intel, 31696c5ddc4Srjs nir_intrinsic_load_ray_object_direction, 31796c5ddc4Srjs nir_intrinsic_load_ray_object_origin, 31896c5ddc4Srjs nir_intrinsic_load_ray_object_to_world, 31996c5ddc4Srjs nir_intrinsic_load_ray_sw_stack_size_intel, 32096c5ddc4Srjs nir_intrinsic_load_ray_t_max, 32196c5ddc4Srjs nir_intrinsic_load_ray_t_min, 32296c5ddc4Srjs nir_intrinsic_load_ray_world_direction, 32396c5ddc4Srjs nir_intrinsic_load_ray_world_origin, 32496c5ddc4Srjs nir_intrinsic_load_ray_world_to_object, 32596c5ddc4Srjs nir_intrinsic_load_rel_patch_id_ir3, 32696c5ddc4Srjs nir_intrinsic_load_reloc_const_intel, 32796c5ddc4Srjs nir_intrinsic_load_ring_es2gs_offset_amd, 32896c5ddc4Srjs nir_intrinsic_load_ring_esgs_amd, 32996c5ddc4Srjs nir_intrinsic_load_ring_tess_factors_amd, 33096c5ddc4Srjs nir_intrinsic_load_ring_tess_factors_offset_amd, 33196c5ddc4Srjs nir_intrinsic_load_ring_tess_offchip_amd, 33296c5ddc4Srjs nir_intrinsic_load_ring_tess_offchip_offset_amd, 33396c5ddc4Srjs nir_intrinsic_load_rt_arg_scratch_offset_amd, 33410e230b6Smaya nir_intrinsic_load_sample_id, 33510e230b6Smaya nir_intrinsic_load_sample_id_no_per_sample, 33610e230b6Smaya nir_intrinsic_load_sample_mask_in, 33710e230b6Smaya nir_intrinsic_load_sample_pos, 33810e230b6Smaya nir_intrinsic_load_sample_pos_from_id, 33996c5ddc4Srjs nir_intrinsic_load_sample_positions_pan, 34096c5ddc4Srjs nir_intrinsic_load_sampler_lod_parameters_pan, 34196c5ddc4Srjs nir_intrinsic_load_sbt_amd, 34210e230b6Smaya nir_intrinsic_load_scratch, 34396c5ddc4Srjs nir_intrinsic_load_scratch_base_ptr, 34496c5ddc4Srjs nir_intrinsic_load_scratch_dxil, 34596c5ddc4Srjs nir_intrinsic_load_shader_query_enabled_amd, 34696c5ddc4Srjs nir_intrinsic_load_shader_record_ptr, 34710e230b6Smaya nir_intrinsic_load_shared, 34896c5ddc4Srjs nir_intrinsic_load_shared_base_ptr, 34996c5ddc4Srjs nir_intrinsic_load_shared_block_intel, 35096c5ddc4Srjs nir_intrinsic_load_shared_dxil, 35196c5ddc4Srjs nir_intrinsic_load_shared_ir3, 35296c5ddc4Srjs nir_intrinsic_load_simd_width_intel, 35310e230b6Smaya nir_intrinsic_load_size_ir3, 35410e230b6Smaya nir_intrinsic_load_ssbo, 35596c5ddc4Srjs nir_intrinsic_load_ssbo_address, 35696c5ddc4Srjs nir_intrinsic_load_ssbo_block_intel, 35710e230b6Smaya nir_intrinsic_load_ssbo_ir3, 35810e230b6Smaya nir_intrinsic_load_subgroup_eq_mask, 35910e230b6Smaya nir_intrinsic_load_subgroup_ge_mask, 36010e230b6Smaya nir_intrinsic_load_subgroup_gt_mask, 36110e230b6Smaya nir_intrinsic_load_subgroup_id, 36296c5ddc4Srjs nir_intrinsic_load_subgroup_id_shift_ir3, 36310e230b6Smaya nir_intrinsic_load_subgroup_invocation, 36410e230b6Smaya nir_intrinsic_load_subgroup_le_mask, 36510e230b6Smaya nir_intrinsic_load_subgroup_lt_mask, 36610e230b6Smaya nir_intrinsic_load_subgroup_size, 36796c5ddc4Srjs nir_intrinsic_load_tcs_header_ir3, 36896c5ddc4Srjs nir_intrinsic_load_tcs_in_param_base_r600, 36996c5ddc4Srjs nir_intrinsic_load_tcs_num_patches_amd, 37096c5ddc4Srjs nir_intrinsic_load_tcs_out_param_base_r600, 37196c5ddc4Srjs nir_intrinsic_load_tcs_rel_patch_id_r600, 37296c5ddc4Srjs nir_intrinsic_load_tcs_tess_factor_base_r600, 37310e230b6Smaya nir_intrinsic_load_tess_coord, 37496c5ddc4Srjs nir_intrinsic_load_tess_coord_r600, 37596c5ddc4Srjs nir_intrinsic_load_tess_factor_base_ir3, 37610e230b6Smaya nir_intrinsic_load_tess_level_inner, 37796c5ddc4Srjs nir_intrinsic_load_tess_level_inner_default, 37810e230b6Smaya nir_intrinsic_load_tess_level_outer, 37996c5ddc4Srjs nir_intrinsic_load_tess_level_outer_default, 38096c5ddc4Srjs nir_intrinsic_load_tess_param_base_ir3, 38196c5ddc4Srjs nir_intrinsic_load_tess_rel_patch_id_amd, 38296c5ddc4Srjs nir_intrinsic_load_texture_rect_scaling, 38396c5ddc4Srjs nir_intrinsic_load_tlb_color_v3d, 38410e230b6Smaya nir_intrinsic_load_ubo, 38596c5ddc4Srjs nir_intrinsic_load_ubo_dxil, 38696c5ddc4Srjs nir_intrinsic_load_ubo_vec4, 38710e230b6Smaya nir_intrinsic_load_uniform, 38810e230b6Smaya nir_intrinsic_load_user_clip_plane, 38996c5ddc4Srjs nir_intrinsic_load_user_data_amd, 39010e230b6Smaya nir_intrinsic_load_vertex_id, 39110e230b6Smaya nir_intrinsic_load_vertex_id_zero_base, 39210e230b6Smaya nir_intrinsic_load_view_index, 39310e230b6Smaya nir_intrinsic_load_viewport_offset, 39410e230b6Smaya nir_intrinsic_load_viewport_scale, 39596c5ddc4Srjs nir_intrinsic_load_viewport_x_offset, 39610e230b6Smaya nir_intrinsic_load_viewport_x_scale, 39796c5ddc4Srjs nir_intrinsic_load_viewport_y_offset, 39810e230b6Smaya nir_intrinsic_load_viewport_y_scale, 39910e230b6Smaya nir_intrinsic_load_viewport_z_offset, 40010e230b6Smaya nir_intrinsic_load_viewport_z_scale, 40196c5ddc4Srjs nir_intrinsic_load_vs_primitive_stride_ir3, 40296c5ddc4Srjs nir_intrinsic_load_vs_vertex_stride_ir3, 40310e230b6Smaya nir_intrinsic_load_vulkan_descriptor, 40410e230b6Smaya nir_intrinsic_load_work_dim, 40596c5ddc4Srjs nir_intrinsic_load_workgroup_id, 40696c5ddc4Srjs nir_intrinsic_load_workgroup_id_zero_base, 40796c5ddc4Srjs nir_intrinsic_load_workgroup_num_input_primitives_amd, 40896c5ddc4Srjs nir_intrinsic_load_workgroup_num_input_vertices_amd, 40996c5ddc4Srjs nir_intrinsic_load_workgroup_size, 41096c5ddc4Srjs nir_intrinsic_masked_swizzle_amd, 41196c5ddc4Srjs nir_intrinsic_mbcnt_amd, 41296c5ddc4Srjs nir_intrinsic_memcpy_deref, 41310e230b6Smaya nir_intrinsic_memory_barrier, 41410e230b6Smaya nir_intrinsic_memory_barrier_atomic_counter, 41510e230b6Smaya nir_intrinsic_memory_barrier_buffer, 41610e230b6Smaya nir_intrinsic_memory_barrier_image, 41710e230b6Smaya nir_intrinsic_memory_barrier_shared, 41896c5ddc4Srjs nir_intrinsic_memory_barrier_tcs_patch, 41910e230b6Smaya nir_intrinsic_nop, 42096c5ddc4Srjs nir_intrinsic_overwrite_tes_arguments_amd, 42196c5ddc4Srjs nir_intrinsic_overwrite_vs_arguments_amd, 42296c5ddc4Srjs nir_intrinsic_printf, 42310e230b6Smaya nir_intrinsic_quad_broadcast, 42410e230b6Smaya nir_intrinsic_quad_swap_diagonal, 42510e230b6Smaya nir_intrinsic_quad_swap_horizontal, 42610e230b6Smaya nir_intrinsic_quad_swap_vertical, 42796c5ddc4Srjs nir_intrinsic_quad_swizzle_amd, 42810e230b6Smaya nir_intrinsic_read_first_invocation, 42910e230b6Smaya nir_intrinsic_read_invocation, 43096c5ddc4Srjs nir_intrinsic_read_invocation_cond_ir3, 43110e230b6Smaya nir_intrinsic_reduce, 43296c5ddc4Srjs nir_intrinsic_report_ray_intersection, 43396c5ddc4Srjs nir_intrinsic_rt_execute_callable, 43496c5ddc4Srjs nir_intrinsic_rt_resume, 43596c5ddc4Srjs nir_intrinsic_rt_return_amd, 43696c5ddc4Srjs nir_intrinsic_rt_trace_ray, 43796c5ddc4Srjs nir_intrinsic_scoped_barrier, 43896c5ddc4Srjs nir_intrinsic_set_vertex_and_primitive_count, 43910e230b6Smaya nir_intrinsic_shader_clock, 44010e230b6Smaya nir_intrinsic_shared_atomic_add, 44196c5ddc4Srjs nir_intrinsic_shared_atomic_add_dxil, 44210e230b6Smaya nir_intrinsic_shared_atomic_and, 44396c5ddc4Srjs nir_intrinsic_shared_atomic_and_dxil, 44410e230b6Smaya nir_intrinsic_shared_atomic_comp_swap, 44596c5ddc4Srjs nir_intrinsic_shared_atomic_comp_swap_dxil, 44610e230b6Smaya nir_intrinsic_shared_atomic_exchange, 44796c5ddc4Srjs nir_intrinsic_shared_atomic_exchange_dxil, 44810e230b6Smaya nir_intrinsic_shared_atomic_fadd, 44910e230b6Smaya nir_intrinsic_shared_atomic_fcomp_swap, 45010e230b6Smaya nir_intrinsic_shared_atomic_fmax, 45110e230b6Smaya nir_intrinsic_shared_atomic_fmin, 45210e230b6Smaya nir_intrinsic_shared_atomic_imax, 45396c5ddc4Srjs nir_intrinsic_shared_atomic_imax_dxil, 45410e230b6Smaya nir_intrinsic_shared_atomic_imin, 45596c5ddc4Srjs nir_intrinsic_shared_atomic_imin_dxil, 45610e230b6Smaya nir_intrinsic_shared_atomic_or, 45796c5ddc4Srjs nir_intrinsic_shared_atomic_or_dxil, 45810e230b6Smaya nir_intrinsic_shared_atomic_umax, 45996c5ddc4Srjs nir_intrinsic_shared_atomic_umax_dxil, 46010e230b6Smaya nir_intrinsic_shared_atomic_umin, 46196c5ddc4Srjs nir_intrinsic_shared_atomic_umin_dxil, 46210e230b6Smaya nir_intrinsic_shared_atomic_xor, 46396c5ddc4Srjs nir_intrinsic_shared_atomic_xor_dxil, 46410e230b6Smaya nir_intrinsic_shuffle, 46510e230b6Smaya nir_intrinsic_shuffle_down, 46610e230b6Smaya nir_intrinsic_shuffle_up, 46710e230b6Smaya nir_intrinsic_shuffle_xor, 46896c5ddc4Srjs nir_intrinsic_sparse_residency_code_and, 46910e230b6Smaya nir_intrinsic_ssbo_atomic_add, 47010e230b6Smaya nir_intrinsic_ssbo_atomic_add_ir3, 47110e230b6Smaya nir_intrinsic_ssbo_atomic_and, 47210e230b6Smaya nir_intrinsic_ssbo_atomic_and_ir3, 47310e230b6Smaya nir_intrinsic_ssbo_atomic_comp_swap, 47410e230b6Smaya nir_intrinsic_ssbo_atomic_comp_swap_ir3, 47510e230b6Smaya nir_intrinsic_ssbo_atomic_exchange, 47610e230b6Smaya nir_intrinsic_ssbo_atomic_exchange_ir3, 47710e230b6Smaya nir_intrinsic_ssbo_atomic_fadd, 47810e230b6Smaya nir_intrinsic_ssbo_atomic_fcomp_swap, 47910e230b6Smaya nir_intrinsic_ssbo_atomic_fmax, 48010e230b6Smaya nir_intrinsic_ssbo_atomic_fmin, 48110e230b6Smaya nir_intrinsic_ssbo_atomic_imax, 48210e230b6Smaya nir_intrinsic_ssbo_atomic_imax_ir3, 48310e230b6Smaya nir_intrinsic_ssbo_atomic_imin, 48410e230b6Smaya nir_intrinsic_ssbo_atomic_imin_ir3, 48510e230b6Smaya nir_intrinsic_ssbo_atomic_or, 48610e230b6Smaya nir_intrinsic_ssbo_atomic_or_ir3, 48710e230b6Smaya nir_intrinsic_ssbo_atomic_umax, 48810e230b6Smaya nir_intrinsic_ssbo_atomic_umax_ir3, 48910e230b6Smaya nir_intrinsic_ssbo_atomic_umin, 49010e230b6Smaya nir_intrinsic_ssbo_atomic_umin_ir3, 49110e230b6Smaya nir_intrinsic_ssbo_atomic_xor, 49210e230b6Smaya nir_intrinsic_ssbo_atomic_xor_ir3, 49396c5ddc4Srjs nir_intrinsic_store_buffer_amd, 49496c5ddc4Srjs nir_intrinsic_store_combined_output_pan, 49510e230b6Smaya nir_intrinsic_store_deref, 49696c5ddc4Srjs nir_intrinsic_store_deref_block_intel, 49710e230b6Smaya nir_intrinsic_store_global, 49896c5ddc4Srjs nir_intrinsic_store_global_block_intel, 49996c5ddc4Srjs nir_intrinsic_store_global_ir3, 50096c5ddc4Srjs nir_intrinsic_store_local_shared_r600, 50110e230b6Smaya nir_intrinsic_store_output, 50296c5ddc4Srjs nir_intrinsic_store_per_primitive_output, 50310e230b6Smaya nir_intrinsic_store_per_vertex_output, 50496c5ddc4Srjs nir_intrinsic_store_raw_output_pan, 50510e230b6Smaya nir_intrinsic_store_scratch, 50696c5ddc4Srjs nir_intrinsic_store_scratch_dxil, 50710e230b6Smaya nir_intrinsic_store_shared, 50896c5ddc4Srjs nir_intrinsic_store_shared_block_intel, 50996c5ddc4Srjs nir_intrinsic_store_shared_dxil, 51096c5ddc4Srjs nir_intrinsic_store_shared_ir3, 51196c5ddc4Srjs nir_intrinsic_store_shared_masked_dxil, 51210e230b6Smaya nir_intrinsic_store_ssbo, 51396c5ddc4Srjs nir_intrinsic_store_ssbo_block_intel, 51410e230b6Smaya nir_intrinsic_store_ssbo_ir3, 51596c5ddc4Srjs nir_intrinsic_store_ssbo_masked_dxil, 51696c5ddc4Srjs nir_intrinsic_store_tf_r600, 51796c5ddc4Srjs nir_intrinsic_store_tlb_sample_color_v3d, 51896c5ddc4Srjs nir_intrinsic_terminate, 51996c5ddc4Srjs nir_intrinsic_terminate_if, 52096c5ddc4Srjs nir_intrinsic_terminate_ray, 52196c5ddc4Srjs nir_intrinsic_trace_ray, 52296c5ddc4Srjs nir_intrinsic_trace_ray_commit_intel, 52396c5ddc4Srjs nir_intrinsic_trace_ray_continue_intel, 52496c5ddc4Srjs nir_intrinsic_trace_ray_initial_intel, 52510e230b6Smaya nir_intrinsic_vote_all, 52610e230b6Smaya nir_intrinsic_vote_any, 52710e230b6Smaya nir_intrinsic_vote_feq, 52810e230b6Smaya nir_intrinsic_vote_ieq, 52910e230b6Smaya nir_intrinsic_vulkan_resource_index, 53010e230b6Smaya nir_intrinsic_vulkan_resource_reindex, 53196c5ddc4Srjs nir_intrinsic_write_invocation_amd, 53210e230b6Smaya 53396c5ddc4Srjs nir_last_intrinsic = nir_intrinsic_write_invocation_amd, 53410e230b6Smaya nir_num_intrinsics = nir_last_intrinsic + 1 53510e230b6Smaya} nir_intrinsic_op; 53610e230b6Smaya 53796c5ddc4Srjstypedef enum { 53896c5ddc4Srjs NIR_INTRINSIC_BASE, 53996c5ddc4Srjs NIR_INTRINSIC_WRITE_MASK, 54096c5ddc4Srjs NIR_INTRINSIC_STREAM_ID, 54196c5ddc4Srjs NIR_INTRINSIC_UCP_ID, 54296c5ddc4Srjs NIR_INTRINSIC_RANGE_BASE, 54396c5ddc4Srjs NIR_INTRINSIC_RANGE, 54496c5ddc4Srjs NIR_INTRINSIC_DESC_SET, 54596c5ddc4Srjs NIR_INTRINSIC_BINDING, 54696c5ddc4Srjs NIR_INTRINSIC_COMPONENT, 54796c5ddc4Srjs NIR_INTRINSIC_COLUMN, 54896c5ddc4Srjs NIR_INTRINSIC_INTERP_MODE, 54996c5ddc4Srjs NIR_INTRINSIC_REDUCTION_OP, 55096c5ddc4Srjs NIR_INTRINSIC_CLUSTER_SIZE, 55196c5ddc4Srjs NIR_INTRINSIC_PARAM_IDX, 55296c5ddc4Srjs NIR_INTRINSIC_IMAGE_DIM, 55396c5ddc4Srjs NIR_INTRINSIC_IMAGE_ARRAY, 55496c5ddc4Srjs NIR_INTRINSIC_FORMAT, 55596c5ddc4Srjs NIR_INTRINSIC_ACCESS, 55696c5ddc4Srjs NIR_INTRINSIC_CALL_IDX, 55796c5ddc4Srjs NIR_INTRINSIC_STACK_SIZE, 55896c5ddc4Srjs NIR_INTRINSIC_ALIGN_MUL, 55996c5ddc4Srjs NIR_INTRINSIC_ALIGN_OFFSET, 56096c5ddc4Srjs NIR_INTRINSIC_DESC_TYPE, 56196c5ddc4Srjs NIR_INTRINSIC_SRC_TYPE, 56296c5ddc4Srjs NIR_INTRINSIC_DEST_TYPE, 56396c5ddc4Srjs NIR_INTRINSIC_SWIZZLE_MASK, 56496c5ddc4Srjs NIR_INTRINSIC_IS_SWIZZLED, 56596c5ddc4Srjs NIR_INTRINSIC_SLC_AMD, 56696c5ddc4Srjs NIR_INTRINSIC_DST_ACCESS, 56796c5ddc4Srjs NIR_INTRINSIC_SRC_ACCESS, 56896c5ddc4Srjs NIR_INTRINSIC_DRIVER_LOCATION, 56996c5ddc4Srjs NIR_INTRINSIC_MEMORY_SEMANTICS, 57096c5ddc4Srjs NIR_INTRINSIC_MEMORY_MODES, 57196c5ddc4Srjs NIR_INTRINSIC_MEMORY_SCOPE, 57296c5ddc4Srjs NIR_INTRINSIC_EXECUTION_SCOPE, 57396c5ddc4Srjs NIR_INTRINSIC_IO_SEMANTICS, 57496c5ddc4Srjs NIR_INTRINSIC_ROUNDING_MODE, 57596c5ddc4Srjs NIR_INTRINSIC_SATURATE, 57696c5ddc4Srjs NIR_INTRINSIC_NUM_INDEX_FLAGS, 57796c5ddc4Srjs} nir_intrinsic_index_flag; 57896c5ddc4Srjs 57996c5ddc4Srjsextern const char *nir_intrinsic_index_names[NIR_INTRINSIC_NUM_INDEX_FLAGS]; 58096c5ddc4Srjs 58110e230b6Smaya#endif /* _NIR_INTRINSICS_ */