# mypy: disable-error-code="empty-body"
from __future__ import annotations
import ctypes
from typing import Literal, TypeAlias
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
from tinygrad.runtime.support import c
from tinygrad.helpers import DEV
import gzip, base64, sysconfig, os
dll = c.DLL('mesa', 'tinymesa_cpu' if DEV.renderer == 'LVP' else 'tinymesa', os.path.join(sysconfig.get_paths()['platlib'], 'tinymesa'), emsg='pip install tinymesa==25.2.7.2')
class struct_u_printf_info(c.Struct): pass
u_printf_info: TypeAlias = struct_u_printf_info
uint32_t: TypeAlias = ctypes.c_uint32
try: nir_debug = uint32_t.in_dll(dll, 'nir_debug') # type: ignore
except (ValueError,AttributeError): pass
try: nir_debug_print_shader = c.Array[ctypes.c_bool, Literal[15]].in_dll(dll, 'nir_debug_print_shader') # type: ignore
except (ValueError,AttributeError): pass
nir_component_mask_t: TypeAlias = ctypes.c_uint16
@dll.bind(None)
def nir_process_debug_variable() -> None: ...
@dll.bind(ctypes.c_bool, nir_component_mask_t, ctypes.c_uint32, ctypes.c_uint32)
def nir_component_mask_can_reinterpret(mask:nir_component_mask_t, old_bit_size:int, new_bit_size:int) -> bool: ...
@dll.bind(nir_component_mask_t, nir_component_mask_t, ctypes.c_uint32, ctypes.c_uint32)
def nir_component_mask_reinterpret(mask:nir_component_mask_t, old_bit_size:int, new_bit_size:int) -> nir_component_mask_t: ...
@c.record
class struct_nir_state_slot(c.Struct):
  SIZE = 8
  tokens: c.Array[ctypes.c_int16, Literal[4]]
gl_state_index16: TypeAlias = ctypes.c_int16
struct_nir_state_slot.register_fields([('tokens', c.Array[gl_state_index16, Literal[4]], 0)])
nir_state_slot: TypeAlias = struct_nir_state_slot
nir_rounding_mode: dict[int, str] = {(nir_rounding_mode_undef:=0): 'nir_rounding_mode_undef', (nir_rounding_mode_rtne:=1): 'nir_rounding_mode_rtne', (nir_rounding_mode_ru:=2): 'nir_rounding_mode_ru', (nir_rounding_mode_rd:=3): 'nir_rounding_mode_rd', (nir_rounding_mode_rtz:=4): 'nir_rounding_mode_rtz'}
nir_ray_query_value: dict[int, str] = {(nir_ray_query_value_intersection_type:=0): 'nir_ray_query_value_intersection_type', (nir_ray_query_value_intersection_t:=1): 'nir_ray_query_value_intersection_t', (nir_ray_query_value_intersection_instance_custom_index:=2): 'nir_ray_query_value_intersection_instance_custom_index', (nir_ray_query_value_intersection_instance_id:=3): 'nir_ray_query_value_intersection_instance_id', (nir_ray_query_value_intersection_instance_sbt_index:=4): 'nir_ray_query_value_intersection_instance_sbt_index', (nir_ray_query_value_intersection_geometry_index:=5): 'nir_ray_query_value_intersection_geometry_index', (nir_ray_query_value_intersection_primitive_index:=6): 'nir_ray_query_value_intersection_primitive_index', (nir_ray_query_value_intersection_barycentrics:=7): 'nir_ray_query_value_intersection_barycentrics', (nir_ray_query_value_intersection_front_face:=8): 'nir_ray_query_value_intersection_front_face', (nir_ray_query_value_intersection_object_ray_direction:=9): 'nir_ray_query_value_intersection_object_ray_direction', (nir_ray_query_value_intersection_object_ray_origin:=10): 'nir_ray_query_value_intersection_object_ray_origin', (nir_ray_query_value_intersection_object_to_world:=11): 'nir_ray_query_value_intersection_object_to_world', (nir_ray_query_value_intersection_world_to_object:=12): 'nir_ray_query_value_intersection_world_to_object', (nir_ray_query_value_intersection_candidate_aabb_opaque:=13): 'nir_ray_query_value_intersection_candidate_aabb_opaque', (nir_ray_query_value_tmin:=14): 'nir_ray_query_value_tmin', (nir_ray_query_value_flags:=15): 'nir_ray_query_value_flags', (nir_ray_query_value_world_ray_direction:=16): 'nir_ray_query_value_world_ray_direction', (nir_ray_query_value_world_ray_origin:=17): 'nir_ray_query_value_world_ray_origin', (nir_ray_query_value_intersection_triangle_vertex_positions:=18): 'nir_ray_query_value_intersection_triangle_vertex_positions'}
nir_resource_data_intel: dict[int, str] = {(nir_resource_intel_bindless:=1): 'nir_resource_intel_bindless', (nir_resource_intel_pushable:=2): 'nir_resource_intel_pushable', (nir_resource_intel_sampler:=4): 'nir_resource_intel_sampler', (nir_resource_intel_non_uniform:=8): 'nir_resource_intel_non_uniform', (nir_resource_intel_sampler_embedded:=16): 'nir_resource_intel_sampler_embedded'}
nir_preamble_class: dict[int, str] = {(nir_preamble_class_general:=0): 'nir_preamble_class_general', (nir_preamble_class_image:=1): 'nir_preamble_class_image', (nir_preamble_num_classes:=2): 'nir_preamble_num_classes'}
nir_cmat_signed: dict[int, str] = {(NIR_CMAT_A_SIGNED:=1): 'NIR_CMAT_A_SIGNED', (NIR_CMAT_B_SIGNED:=2): 'NIR_CMAT_B_SIGNED', (NIR_CMAT_C_SIGNED:=4): 'NIR_CMAT_C_SIGNED', (NIR_CMAT_RESULT_SIGNED:=8): 'NIR_CMAT_RESULT_SIGNED'}
@c.record
class nir_const_value(c.Struct):
  SIZE = 8
  b: bool
  f32: float
  f64: float
  i8: int
  u8: int
  i16: int
  u16: int
  i32: int
  u32: int
  i64: int
  u64: int
int8_t: TypeAlias = ctypes.c_byte
uint8_t: TypeAlias = ctypes.c_ubyte
int16_t: TypeAlias = ctypes.c_int16
uint16_t: TypeAlias = ctypes.c_uint16
int32_t: TypeAlias = ctypes.c_int32
int64_t: TypeAlias = ctypes.c_int64
uint64_t: TypeAlias = ctypes.c_uint64
nir_const_value.register_fields([('b', ctypes.c_bool, 0), ('f32', ctypes.c_float, 0), ('f64', ctypes.c_double, 0), ('i8', int8_t, 0), ('u8', uint8_t, 0), ('i16', int16_t, 0), ('u16', uint16_t, 0), ('i32', int32_t, 0), ('u32', uint32_t, 0), ('i64', int64_t, 0), ('u64', uint64_t, 0)])
@dll.bind(nir_const_value, ctypes.c_double, ctypes.c_uint32)
def nir_const_value_for_float(b:float, bit_size:int) -> nir_const_value: ...
@dll.bind(ctypes.c_double, nir_const_value, ctypes.c_uint32)
def nir_const_value_as_float(value:nir_const_value, bit_size:int) -> float: ...
@c.record
class struct_nir_constant(c.Struct):
  SIZE = 144
  values: c.Array[nir_const_value, Literal[16]]
  is_null_constant: bool
  num_elements: int
  elements: c.POINTER[c.POINTER[struct_nir_constant]]
nir_constant: TypeAlias = struct_nir_constant
struct_nir_constant.register_fields([('values', c.Array[nir_const_value, Literal[16]], 0), ('is_null_constant', ctypes.c_bool, 128), ('num_elements', ctypes.c_uint32, 132), ('elements', c.POINTER[c.POINTER[nir_constant]], 136)])
nir_depth_layout: dict[int, str] = {(nir_depth_layout_none:=0): 'nir_depth_layout_none', (nir_depth_layout_any:=1): 'nir_depth_layout_any', (nir_depth_layout_greater:=2): 'nir_depth_layout_greater', (nir_depth_layout_less:=3): 'nir_depth_layout_less', (nir_depth_layout_unchanged:=4): 'nir_depth_layout_unchanged'}
nir_var_declaration_type: dict[int, str] = {(nir_var_declared_normally:=0): 'nir_var_declared_normally', (nir_var_declared_implicitly:=1): 'nir_var_declared_implicitly', (nir_var_hidden:=2): 'nir_var_hidden'}
@c.record
class struct_nir_variable_data(c.Struct):
  SIZE = 56
  mode: int
  read_only: int
  centroid: int
  sample: int
  patch: int
  invariant: int
  explicit_invariant: int
  ray_query: int
  precision: int
  assigned: int
  cannot_coalesce: int
  always_active_io: int
  interpolation: int
  location_frac: int
  compact: int
  fb_fetch_output: int
  bindless: int
  explicit_binding: int
  explicit_location: int
  implicit_sized_array: int
  max_array_access: int
  has_initializer: int
  is_implicit_initializer: int
  is_xfb: int
  is_xfb_only: int
  explicit_xfb_buffer: int
  explicit_xfb_stride: int
  explicit_offset: int
  matrix_layout: int
  from_named_ifc_block: int
  from_ssbo_unsized_array: int
  must_be_shader_input: int
  used: int
  how_declared: int
  per_view: int
  per_primitive: int
  per_vertex: int
  aliased_shared_memory: int
  depth_layout: int
  stream: int
  access: int
  descriptor_set: int
  index: int
  binding: int
  location: int
  alignment: int
  driver_location: int
  offset: int
  image: struct_nir_variable_data_image
  sampler: struct_nir_variable_data_sampler
  xfb: struct_nir_variable_data_xfb
  node_name: c.POINTER[ctypes.c_char]
@c.record
class struct_nir_variable_data_image(c.Struct):
  SIZE = 4
  format: int
enum_pipe_format: dict[int, str] = {(PIPE_FORMAT_NONE:=0): 'PIPE_FORMAT_NONE', (PIPE_FORMAT_R64_UINT:=1): 'PIPE_FORMAT_R64_UINT', (PIPE_FORMAT_R64G64_UINT:=2): 'PIPE_FORMAT_R64G64_UINT', (PIPE_FORMAT_R64G64B64_UINT:=3): 'PIPE_FORMAT_R64G64B64_UINT', (PIPE_FORMAT_R64G64B64A64_UINT:=4): 'PIPE_FORMAT_R64G64B64A64_UINT', (PIPE_FORMAT_R64_SINT:=5): 'PIPE_FORMAT_R64_SINT', (PIPE_FORMAT_R64G64_SINT:=6): 'PIPE_FORMAT_R64G64_SINT', (PIPE_FORMAT_R64G64B64_SINT:=7): 'PIPE_FORMAT_R64G64B64_SINT', (PIPE_FORMAT_R64G64B64A64_SINT:=8): 'PIPE_FORMAT_R64G64B64A64_SINT', (PIPE_FORMAT_R64_FLOAT:=9): 'PIPE_FORMAT_R64_FLOAT', (PIPE_FORMAT_R64G64_FLOAT:=10): 'PIPE_FORMAT_R64G64_FLOAT', (PIPE_FORMAT_R64G64B64_FLOAT:=11): 'PIPE_FORMAT_R64G64B64_FLOAT', (PIPE_FORMAT_R64G64B64A64_FLOAT:=12): 'PIPE_FORMAT_R64G64B64A64_FLOAT', (PIPE_FORMAT_R32_FLOAT:=13): 'PIPE_FORMAT_R32_FLOAT', (PIPE_FORMAT_R32G32_FLOAT:=14): 'PIPE_FORMAT_R32G32_FLOAT', (PIPE_FORMAT_R32G32B32_FLOAT:=15): 'PIPE_FORMAT_R32G32B32_FLOAT', (PIPE_FORMAT_R32G32B32A32_FLOAT:=16): 'PIPE_FORMAT_R32G32B32A32_FLOAT', (PIPE_FORMAT_R32_UNORM:=17): 'PIPE_FORMAT_R32_UNORM', (PIPE_FORMAT_R32G32_UNORM:=18): 'PIPE_FORMAT_R32G32_UNORM', (PIPE_FORMAT_R32G32B32_UNORM:=19): 'PIPE_FORMAT_R32G32B32_UNORM', (PIPE_FORMAT_R32G32B32A32_UNORM:=20): 'PIPE_FORMAT_R32G32B32A32_UNORM', (PIPE_FORMAT_R32_USCALED:=21): 'PIPE_FORMAT_R32_USCALED', (PIPE_FORMAT_R32G32_USCALED:=22): 'PIPE_FORMAT_R32G32_USCALED', (PIPE_FORMAT_R32G32B32_USCALED:=23): 'PIPE_FORMAT_R32G32B32_USCALED', (PIPE_FORMAT_R32G32B32A32_USCALED:=24): 'PIPE_FORMAT_R32G32B32A32_USCALED', (PIPE_FORMAT_R32_SNORM:=25): 'PIPE_FORMAT_R32_SNORM', (PIPE_FORMAT_R32G32_SNORM:=26): 'PIPE_FORMAT_R32G32_SNORM', (PIPE_FORMAT_R32G32B32_SNORM:=27): 'PIPE_FORMAT_R32G32B32_SNORM', (PIPE_FORMAT_R32G32B32A32_SNORM:=28): 'PIPE_FORMAT_R32G32B32A32_SNORM', (PIPE_FORMAT_R32_SSCALED:=29): 'PIPE_FORMAT_R32_SSCALED', (PIPE_FORMAT_R32G32_SSCALED:=30): 'PIPE_FORMAT_R32G32_SSCALED', (PIPE_FORMAT_R32G32B32_SSCALED:=31): 'PIPE_FORMAT_R32G32B32_SSCALED', (PIPE_FORMAT_R32G32B32A32_SSCALED:=32): 'PIPE_FORMAT_R32G32B32A32_SSCALED', (PIPE_FORMAT_R16_UNORM:=33): 'PIPE_FORMAT_R16_UNORM', (PIPE_FORMAT_R16G16_UNORM:=34): 'PIPE_FORMAT_R16G16_UNORM', (PIPE_FORMAT_R16G16B16_UNORM:=35): 'PIPE_FORMAT_R16G16B16_UNORM', (PIPE_FORMAT_R16G16B16A16_UNORM:=36): 'PIPE_FORMAT_R16G16B16A16_UNORM', (PIPE_FORMAT_R16_USCALED:=37): 'PIPE_FORMAT_R16_USCALED', (PIPE_FORMAT_R16G16_USCALED:=38): 'PIPE_FORMAT_R16G16_USCALED', (PIPE_FORMAT_R16G16B16_USCALED:=39): 'PIPE_FORMAT_R16G16B16_USCALED', (PIPE_FORMAT_R16G16B16A16_USCALED:=40): 'PIPE_FORMAT_R16G16B16A16_USCALED', (PIPE_FORMAT_R16_SNORM:=41): 'PIPE_FORMAT_R16_SNORM', (PIPE_FORMAT_R16G16_SNORM:=42): 'PIPE_FORMAT_R16G16_SNORM', (PIPE_FORMAT_R16G16B16_SNORM:=43): 'PIPE_FORMAT_R16G16B16_SNORM', (PIPE_FORMAT_R16G16B16A16_SNORM:=44): 'PIPE_FORMAT_R16G16B16A16_SNORM', (PIPE_FORMAT_R16_SSCALED:=45): 'PIPE_FORMAT_R16_SSCALED', (PIPE_FORMAT_R16G16_SSCALED:=46): 'PIPE_FORMAT_R16G16_SSCALED', (PIPE_FORMAT_R16G16B16_SSCALED:=47): 'PIPE_FORMAT_R16G16B16_SSCALED', (PIPE_FORMAT_R16G16B16A16_SSCALED:=48): 'PIPE_FORMAT_R16G16B16A16_SSCALED', (PIPE_FORMAT_R8_UNORM:=49): 'PIPE_FORMAT_R8_UNORM', (PIPE_FORMAT_R8G8_UNORM:=50): 'PIPE_FORMAT_R8G8_UNORM', (PIPE_FORMAT_R8G8B8_UNORM:=51): 'PIPE_FORMAT_R8G8B8_UNORM', (PIPE_FORMAT_B8G8R8_UNORM:=52): 'PIPE_FORMAT_B8G8R8_UNORM', (PIPE_FORMAT_R8G8B8A8_UNORM:=53): 'PIPE_FORMAT_R8G8B8A8_UNORM', (PIPE_FORMAT_B8G8R8A8_UNORM:=54): 'PIPE_FORMAT_B8G8R8A8_UNORM', (PIPE_FORMAT_R8_USCALED:=55): 'PIPE_FORMAT_R8_USCALED', (PIPE_FORMAT_R8G8_USCALED:=56): 'PIPE_FORMAT_R8G8_USCALED', (PIPE_FORMAT_R8G8B8_USCALED:=57): 'PIPE_FORMAT_R8G8B8_USCALED', (PIPE_FORMAT_B8G8R8_USCALED:=58): 'PIPE_FORMAT_B8G8R8_USCALED', (PIPE_FORMAT_R8G8B8A8_USCALED:=59): 'PIPE_FORMAT_R8G8B8A8_USCALED', (PIPE_FORMAT_B8G8R8A8_USCALED:=60): 'PIPE_FORMAT_B8G8R8A8_USCALED', (PIPE_FORMAT_A8B8G8R8_USCALED:=61): 'PIPE_FORMAT_A8B8G8R8_USCALED', (PIPE_FORMAT_R8_SNORM:=62): 'PIPE_FORMAT_R8_SNORM', (PIPE_FORMAT_R8G8_SNORM:=63): 'PIPE_FORMAT_R8G8_SNORM', (PIPE_FORMAT_R8G8B8_SNORM:=64): 'PIPE_FORMAT_R8G8B8_SNORM', (PIPE_FORMAT_B8G8R8_SNORM:=65): 'PIPE_FORMAT_B8G8R8_SNORM', (PIPE_FORMAT_R8G8B8A8_SNORM:=66): 'PIPE_FORMAT_R8G8B8A8_SNORM', (PIPE_FORMAT_B8G8R8A8_SNORM:=67): 'PIPE_FORMAT_B8G8R8A8_SNORM', (PIPE_FORMAT_R8_SSCALED:=68): 'PIPE_FORMAT_R8_SSCALED', (PIPE_FORMAT_R8G8_SSCALED:=69): 'PIPE_FORMAT_R8G8_SSCALED', (PIPE_FORMAT_R8G8B8_SSCALED:=70): 'PIPE_FORMAT_R8G8B8_SSCALED', (PIPE_FORMAT_B8G8R8_SSCALED:=71): 'PIPE_FORMAT_B8G8R8_SSCALED', (PIPE_FORMAT_R8G8B8A8_SSCALED:=72): 'PIPE_FORMAT_R8G8B8A8_SSCALED', (PIPE_FORMAT_B8G8R8A8_SSCALED:=73): 'PIPE_FORMAT_B8G8R8A8_SSCALED', (PIPE_FORMAT_A8B8G8R8_SSCALED:=74): 'PIPE_FORMAT_A8B8G8R8_SSCALED', (PIPE_FORMAT_A8R8G8B8_UNORM:=75): 'PIPE_FORMAT_A8R8G8B8_UNORM', (PIPE_FORMAT_R32_FIXED:=76): 'PIPE_FORMAT_R32_FIXED', (PIPE_FORMAT_R32G32_FIXED:=77): 'PIPE_FORMAT_R32G32_FIXED', (PIPE_FORMAT_R32G32B32_FIXED:=78): 'PIPE_FORMAT_R32G32B32_FIXED', (PIPE_FORMAT_R32G32B32A32_FIXED:=79): 'PIPE_FORMAT_R32G32B32A32_FIXED', (PIPE_FORMAT_R16_FLOAT:=80): 'PIPE_FORMAT_R16_FLOAT', (PIPE_FORMAT_R16G16_FLOAT:=81): 'PIPE_FORMAT_R16G16_FLOAT', (PIPE_FORMAT_R16G16B16_FLOAT:=82): 'PIPE_FORMAT_R16G16B16_FLOAT', (PIPE_FORMAT_R16G16B16A16_FLOAT:=83): 'PIPE_FORMAT_R16G16B16A16_FLOAT', (PIPE_FORMAT_R8_UINT:=84): 'PIPE_FORMAT_R8_UINT', (PIPE_FORMAT_R8G8_UINT:=85): 'PIPE_FORMAT_R8G8_UINT', (PIPE_FORMAT_R8G8B8_UINT:=86): 'PIPE_FORMAT_R8G8B8_UINT', (PIPE_FORMAT_B8G8R8_UINT:=87): 'PIPE_FORMAT_B8G8R8_UINT', (PIPE_FORMAT_R8G8B8A8_UINT:=88): 'PIPE_FORMAT_R8G8B8A8_UINT', (PIPE_FORMAT_B8G8R8A8_UINT:=89): 'PIPE_FORMAT_B8G8R8A8_UINT', (PIPE_FORMAT_R8_SINT:=90): 'PIPE_FORMAT_R8_SINT', (PIPE_FORMAT_R8G8_SINT:=91): 'PIPE_FORMAT_R8G8_SINT', (PIPE_FORMAT_R8G8B8_SINT:=92): 'PIPE_FORMAT_R8G8B8_SINT', (PIPE_FORMAT_B8G8R8_SINT:=93): 'PIPE_FORMAT_B8G8R8_SINT', (PIPE_FORMAT_R8G8B8A8_SINT:=94): 'PIPE_FORMAT_R8G8B8A8_SINT', (PIPE_FORMAT_B8G8R8A8_SINT:=95): 'PIPE_FORMAT_B8G8R8A8_SINT', (PIPE_FORMAT_R16_UINT:=96): 'PIPE_FORMAT_R16_UINT', (PIPE_FORMAT_R16G16_UINT:=97): 'PIPE_FORMAT_R16G16_UINT', (PIPE_FORMAT_R16G16B16_UINT:=98): 'PIPE_FORMAT_R16G16B16_UINT', (PIPE_FORMAT_R16G16B16A16_UINT:=99): 'PIPE_FORMAT_R16G16B16A16_UINT', (PIPE_FORMAT_R16_SINT:=100): 'PIPE_FORMAT_R16_SINT', (PIPE_FORMAT_R16G16_SINT:=101): 'PIPE_FORMAT_R16G16_SINT', (PIPE_FORMAT_R16G16B16_SINT:=102): 'PIPE_FORMAT_R16G16B16_SINT', (PIPE_FORMAT_R16G16B16A16_SINT:=103): 'PIPE_FORMAT_R16G16B16A16_SINT', (PIPE_FORMAT_R32_UINT:=104): 'PIPE_FORMAT_R32_UINT', (PIPE_FORMAT_R32G32_UINT:=105): 'PIPE_FORMAT_R32G32_UINT', (PIPE_FORMAT_R32G32B32_UINT:=106): 'PIPE_FORMAT_R32G32B32_UINT', (PIPE_FORMAT_R32G32B32A32_UINT:=107): 'PIPE_FORMAT_R32G32B32A32_UINT', (PIPE_FORMAT_R32_SINT:=108): 'PIPE_FORMAT_R32_SINT', (PIPE_FORMAT_R32G32_SINT:=109): 'PIPE_FORMAT_R32G32_SINT', (PIPE_FORMAT_R32G32B32_SINT:=110): 'PIPE_FORMAT_R32G32B32_SINT', (PIPE_FORMAT_R32G32B32A32_SINT:=111): 'PIPE_FORMAT_R32G32B32A32_SINT', (PIPE_FORMAT_R10G10B10A2_UNORM:=112): 'PIPE_FORMAT_R10G10B10A2_UNORM', (PIPE_FORMAT_R10G10B10A2_SNORM:=113): 'PIPE_FORMAT_R10G10B10A2_SNORM', (PIPE_FORMAT_R10G10B10A2_USCALED:=114): 'PIPE_FORMAT_R10G10B10A2_USCALED', (PIPE_FORMAT_R10G10B10A2_SSCALED:=115): 'PIPE_FORMAT_R10G10B10A2_SSCALED', (PIPE_FORMAT_B10G10R10A2_UNORM:=116): 'PIPE_FORMAT_B10G10R10A2_UNORM', (PIPE_FORMAT_B10G10R10A2_SNORM:=117): 'PIPE_FORMAT_B10G10R10A2_SNORM', (PIPE_FORMAT_B10G10R10A2_USCALED:=118): 'PIPE_FORMAT_B10G10R10A2_USCALED', (PIPE_FORMAT_B10G10R10A2_SSCALED:=119): 'PIPE_FORMAT_B10G10R10A2_SSCALED', (PIPE_FORMAT_R11G11B10_FLOAT:=120): 'PIPE_FORMAT_R11G11B10_FLOAT', (PIPE_FORMAT_R10G10B10A2_UINT:=121): 'PIPE_FORMAT_R10G10B10A2_UINT', (PIPE_FORMAT_R10G10B10A2_SINT:=122): 'PIPE_FORMAT_R10G10B10A2_SINT', (PIPE_FORMAT_B10G10R10A2_UINT:=123): 'PIPE_FORMAT_B10G10R10A2_UINT', (PIPE_FORMAT_B10G10R10A2_SINT:=124): 'PIPE_FORMAT_B10G10R10A2_SINT', (PIPE_FORMAT_B8G8R8X8_UNORM:=125): 'PIPE_FORMAT_B8G8R8X8_UNORM', (PIPE_FORMAT_X8B8G8R8_UNORM:=126): 'PIPE_FORMAT_X8B8G8R8_UNORM', (PIPE_FORMAT_X8R8G8B8_UNORM:=127): 'PIPE_FORMAT_X8R8G8B8_UNORM', (PIPE_FORMAT_B5G5R5A1_UNORM:=128): 'PIPE_FORMAT_B5G5R5A1_UNORM', (PIPE_FORMAT_R4G4B4A4_UNORM:=129): 'PIPE_FORMAT_R4G4B4A4_UNORM', (PIPE_FORMAT_B4G4R4A4_UNORM:=130): 'PIPE_FORMAT_B4G4R4A4_UNORM', (PIPE_FORMAT_R5G6B5_UNORM:=131): 'PIPE_FORMAT_R5G6B5_UNORM', (PIPE_FORMAT_B5G6R5_UNORM:=132): 'PIPE_FORMAT_B5G6R5_UNORM', (PIPE_FORMAT_L8_UNORM:=133): 'PIPE_FORMAT_L8_UNORM', (PIPE_FORMAT_A8_UNORM:=134): 'PIPE_FORMAT_A8_UNORM', (PIPE_FORMAT_I8_UNORM:=135): 'PIPE_FORMAT_I8_UNORM', (PIPE_FORMAT_L8A8_UNORM:=136): 'PIPE_FORMAT_L8A8_UNORM', (PIPE_FORMAT_L16_UNORM:=137): 'PIPE_FORMAT_L16_UNORM', (PIPE_FORMAT_UYVY:=138): 'PIPE_FORMAT_UYVY', (PIPE_FORMAT_VYUY:=139): 'PIPE_FORMAT_VYUY', (PIPE_FORMAT_YUYV:=140): 'PIPE_FORMAT_YUYV', (PIPE_FORMAT_YVYU:=141): 'PIPE_FORMAT_YVYU', (PIPE_FORMAT_Z16_UNORM:=142): 'PIPE_FORMAT_Z16_UNORM', (PIPE_FORMAT_Z16_UNORM_S8_UINT:=143): 'PIPE_FORMAT_Z16_UNORM_S8_UINT', (PIPE_FORMAT_Z32_UNORM:=144): 'PIPE_FORMAT_Z32_UNORM', (PIPE_FORMAT_Z32_FLOAT:=145): 'PIPE_FORMAT_Z32_FLOAT', (PIPE_FORMAT_Z24_UNORM_S8_UINT:=146): 'PIPE_FORMAT_Z24_UNORM_S8_UINT', (PIPE_FORMAT_S8_UINT_Z24_UNORM:=147): 'PIPE_FORMAT_S8_UINT_Z24_UNORM', (PIPE_FORMAT_Z24X8_UNORM:=148): 'PIPE_FORMAT_Z24X8_UNORM', (PIPE_FORMAT_X8Z24_UNORM:=149): 'PIPE_FORMAT_X8Z24_UNORM', (PIPE_FORMAT_S8_UINT:=150): 'PIPE_FORMAT_S8_UINT', (PIPE_FORMAT_L8_SRGB:=151): 'PIPE_FORMAT_L8_SRGB', (PIPE_FORMAT_R8_SRGB:=152): 'PIPE_FORMAT_R8_SRGB', (PIPE_FORMAT_L8A8_SRGB:=153): 'PIPE_FORMAT_L8A8_SRGB', (PIPE_FORMAT_R8G8_SRGB:=154): 'PIPE_FORMAT_R8G8_SRGB', (PIPE_FORMAT_R8G8B8_SRGB:=155): 'PIPE_FORMAT_R8G8B8_SRGB', (PIPE_FORMAT_B8G8R8_SRGB:=156): 'PIPE_FORMAT_B8G8R8_SRGB', (PIPE_FORMAT_A8B8G8R8_SRGB:=157): 'PIPE_FORMAT_A8B8G8R8_SRGB', (PIPE_FORMAT_X8B8G8R8_SRGB:=158): 'PIPE_FORMAT_X8B8G8R8_SRGB', (PIPE_FORMAT_B8G8R8A8_SRGB:=159): 'PIPE_FORMAT_B8G8R8A8_SRGB', (PIPE_FORMAT_B8G8R8X8_SRGB:=160): 'PIPE_FORMAT_B8G8R8X8_SRGB', (PIPE_FORMAT_A8R8G8B8_SRGB:=161): 'PIPE_FORMAT_A8R8G8B8_SRGB', (PIPE_FORMAT_X8R8G8B8_SRGB:=162): 'PIPE_FORMAT_X8R8G8B8_SRGB', (PIPE_FORMAT_R8G8B8A8_SRGB:=163): 'PIPE_FORMAT_R8G8B8A8_SRGB', (PIPE_FORMAT_DXT1_RGB:=164): 'PIPE_FORMAT_DXT1_RGB', (PIPE_FORMAT_DXT1_RGBA:=165): 'PIPE_FORMAT_DXT1_RGBA', (PIPE_FORMAT_DXT3_RGBA:=166): 'PIPE_FORMAT_DXT3_RGBA', (PIPE_FORMAT_DXT5_RGBA:=167): 'PIPE_FORMAT_DXT5_RGBA', (PIPE_FORMAT_DXT1_SRGB:=168): 'PIPE_FORMAT_DXT1_SRGB', (PIPE_FORMAT_DXT1_SRGBA:=169): 'PIPE_FORMAT_DXT1_SRGBA', (PIPE_FORMAT_DXT3_SRGBA:=170): 'PIPE_FORMAT_DXT3_SRGBA', (PIPE_FORMAT_DXT5_SRGBA:=171): 'PIPE_FORMAT_DXT5_SRGBA', (PIPE_FORMAT_RGTC1_UNORM:=172): 'PIPE_FORMAT_RGTC1_UNORM', (PIPE_FORMAT_RGTC1_SNORM:=173): 'PIPE_FORMAT_RGTC1_SNORM', (PIPE_FORMAT_RGTC2_UNORM:=174): 'PIPE_FORMAT_RGTC2_UNORM', (PIPE_FORMAT_RGTC2_SNORM:=175): 'PIPE_FORMAT_RGTC2_SNORM', (PIPE_FORMAT_R8G8_B8G8_UNORM:=176): 'PIPE_FORMAT_R8G8_B8G8_UNORM', (PIPE_FORMAT_G8R8_G8B8_UNORM:=177): 'PIPE_FORMAT_G8R8_G8B8_UNORM', (PIPE_FORMAT_X6G10_X6B10X6R10_420_UNORM:=178): 'PIPE_FORMAT_X6G10_X6B10X6R10_420_UNORM', (PIPE_FORMAT_X4G12_X4B12X4R12_420_UNORM:=179): 'PIPE_FORMAT_X4G12_X4B12X4R12_420_UNORM', (PIPE_FORMAT_X6R10_UNORM:=180): 'PIPE_FORMAT_X6R10_UNORM', (PIPE_FORMAT_X6R10X6G10_UNORM:=181): 'PIPE_FORMAT_X6R10X6G10_UNORM', (PIPE_FORMAT_X4R12_UNORM:=182): 'PIPE_FORMAT_X4R12_UNORM', (PIPE_FORMAT_X4R12X4G12_UNORM:=183): 'PIPE_FORMAT_X4R12X4G12_UNORM', (PIPE_FORMAT_R8SG8SB8UX8U_NORM:=184): 'PIPE_FORMAT_R8SG8SB8UX8U_NORM', (PIPE_FORMAT_R5SG5SB6U_NORM:=185): 'PIPE_FORMAT_R5SG5SB6U_NORM', (PIPE_FORMAT_A8B8G8R8_UNORM:=186): 'PIPE_FORMAT_A8B8G8R8_UNORM', (PIPE_FORMAT_B5G5R5X1_UNORM:=187): 'PIPE_FORMAT_B5G5R5X1_UNORM', (PIPE_FORMAT_R9G9B9E5_FLOAT:=188): 'PIPE_FORMAT_R9G9B9E5_FLOAT', (PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:=189): 'PIPE_FORMAT_Z32_FLOAT_S8X24_UINT', (PIPE_FORMAT_R1_UNORM:=190): 'PIPE_FORMAT_R1_UNORM', (PIPE_FORMAT_R10G10B10X2_USCALED:=191): 'PIPE_FORMAT_R10G10B10X2_USCALED', (PIPE_FORMAT_R10G10B10X2_SNORM:=192): 'PIPE_FORMAT_R10G10B10X2_SNORM', (PIPE_FORMAT_L4A4_UNORM:=193): 'PIPE_FORMAT_L4A4_UNORM', (PIPE_FORMAT_A2R10G10B10_UNORM:=194): 'PIPE_FORMAT_A2R10G10B10_UNORM', (PIPE_FORMAT_A2B10G10R10_UNORM:=195): 'PIPE_FORMAT_A2B10G10R10_UNORM', (PIPE_FORMAT_R10SG10SB10SA2U_NORM:=196): 'PIPE_FORMAT_R10SG10SB10SA2U_NORM', (PIPE_FORMAT_R8G8Bx_SNORM:=197): 'PIPE_FORMAT_R8G8Bx_SNORM', (PIPE_FORMAT_R8G8B8X8_UNORM:=198): 'PIPE_FORMAT_R8G8B8X8_UNORM', (PIPE_FORMAT_B4G4R4X4_UNORM:=199): 'PIPE_FORMAT_B4G4R4X4_UNORM', (PIPE_FORMAT_X24S8_UINT:=200): 'PIPE_FORMAT_X24S8_UINT', (PIPE_FORMAT_S8X24_UINT:=201): 'PIPE_FORMAT_S8X24_UINT', (PIPE_FORMAT_X32_S8X24_UINT:=202): 'PIPE_FORMAT_X32_S8X24_UINT', (PIPE_FORMAT_R3G3B2_UNORM:=203): 'PIPE_FORMAT_R3G3B2_UNORM', (PIPE_FORMAT_B2G3R3_UNORM:=204): 'PIPE_FORMAT_B2G3R3_UNORM', (PIPE_FORMAT_L16A16_UNORM:=205): 'PIPE_FORMAT_L16A16_UNORM', (PIPE_FORMAT_A16_UNORM:=206): 'PIPE_FORMAT_A16_UNORM', (PIPE_FORMAT_I16_UNORM:=207): 'PIPE_FORMAT_I16_UNORM', (PIPE_FORMAT_LATC1_UNORM:=208): 'PIPE_FORMAT_LATC1_UNORM', (PIPE_FORMAT_LATC1_SNORM:=209): 'PIPE_FORMAT_LATC1_SNORM', (PIPE_FORMAT_LATC2_UNORM:=210): 'PIPE_FORMAT_LATC2_UNORM', (PIPE_FORMAT_LATC2_SNORM:=211): 'PIPE_FORMAT_LATC2_SNORM', (PIPE_FORMAT_A8_SNORM:=212): 'PIPE_FORMAT_A8_SNORM', (PIPE_FORMAT_L8_SNORM:=213): 'PIPE_FORMAT_L8_SNORM', (PIPE_FORMAT_L8A8_SNORM:=214): 'PIPE_FORMAT_L8A8_SNORM', (PIPE_FORMAT_I8_SNORM:=215): 'PIPE_FORMAT_I8_SNORM', (PIPE_FORMAT_A16_SNORM:=216): 'PIPE_FORMAT_A16_SNORM', (PIPE_FORMAT_L16_SNORM:=217): 'PIPE_FORMAT_L16_SNORM', (PIPE_FORMAT_L16A16_SNORM:=218): 'PIPE_FORMAT_L16A16_SNORM', (PIPE_FORMAT_I16_SNORM:=219): 'PIPE_FORMAT_I16_SNORM', (PIPE_FORMAT_A16_FLOAT:=220): 'PIPE_FORMAT_A16_FLOAT', (PIPE_FORMAT_L16_FLOAT:=221): 'PIPE_FORMAT_L16_FLOAT', (PIPE_FORMAT_L16A16_FLOAT:=222): 'PIPE_FORMAT_L16A16_FLOAT', (PIPE_FORMAT_I16_FLOAT:=223): 'PIPE_FORMAT_I16_FLOAT', (PIPE_FORMAT_A32_FLOAT:=224): 'PIPE_FORMAT_A32_FLOAT', (PIPE_FORMAT_L32_FLOAT:=225): 'PIPE_FORMAT_L32_FLOAT', (PIPE_FORMAT_L32A32_FLOAT:=226): 'PIPE_FORMAT_L32A32_FLOAT', (PIPE_FORMAT_I32_FLOAT:=227): 'PIPE_FORMAT_I32_FLOAT', (PIPE_FORMAT_YV12:=228): 'PIPE_FORMAT_YV12', (PIPE_FORMAT_YV16:=229): 'PIPE_FORMAT_YV16', (PIPE_FORMAT_IYUV:=230): 'PIPE_FORMAT_IYUV', (PIPE_FORMAT_NV12:=231): 'PIPE_FORMAT_NV12', (PIPE_FORMAT_NV21:=232): 'PIPE_FORMAT_NV21', (PIPE_FORMAT_NV16:=233): 'PIPE_FORMAT_NV16', (PIPE_FORMAT_NV15:=234): 'PIPE_FORMAT_NV15', (PIPE_FORMAT_NV20:=235): 'PIPE_FORMAT_NV20', (PIPE_FORMAT_Y8_400_UNORM:=236): 'PIPE_FORMAT_Y8_400_UNORM', (PIPE_FORMAT_Y8_U8_V8_422_UNORM:=237): 'PIPE_FORMAT_Y8_U8_V8_422_UNORM', (PIPE_FORMAT_Y8_U8_V8_444_UNORM:=238): 'PIPE_FORMAT_Y8_U8_V8_444_UNORM', (PIPE_FORMAT_Y8_U8_V8_440_UNORM:=239): 'PIPE_FORMAT_Y8_U8_V8_440_UNORM', (PIPE_FORMAT_Y10X6_U10X6_V10X6_420_UNORM:=240): 'PIPE_FORMAT_Y10X6_U10X6_V10X6_420_UNORM', (PIPE_FORMAT_Y10X6_U10X6_V10X6_422_UNORM:=241): 'PIPE_FORMAT_Y10X6_U10X6_V10X6_422_UNORM', (PIPE_FORMAT_Y10X6_U10X6_V10X6_444_UNORM:=242): 'PIPE_FORMAT_Y10X6_U10X6_V10X6_444_UNORM', (PIPE_FORMAT_Y12X4_U12X4_V12X4_420_UNORM:=243): 'PIPE_FORMAT_Y12X4_U12X4_V12X4_420_UNORM', (PIPE_FORMAT_Y12X4_U12X4_V12X4_422_UNORM:=244): 'PIPE_FORMAT_Y12X4_U12X4_V12X4_422_UNORM', (PIPE_FORMAT_Y12X4_U12X4_V12X4_444_UNORM:=245): 'PIPE_FORMAT_Y12X4_U12X4_V12X4_444_UNORM', (PIPE_FORMAT_Y16_U16_V16_420_UNORM:=246): 'PIPE_FORMAT_Y16_U16_V16_420_UNORM', (PIPE_FORMAT_Y16_U16_V16_422_UNORM:=247): 'PIPE_FORMAT_Y16_U16_V16_422_UNORM', (PIPE_FORMAT_Y16_U16V16_422_UNORM:=248): 'PIPE_FORMAT_Y16_U16V16_422_UNORM', (PIPE_FORMAT_Y16_U16_V16_444_UNORM:=249): 'PIPE_FORMAT_Y16_U16_V16_444_UNORM', (PIPE_FORMAT_Y8U8V8_420_UNORM_PACKED:=250): 'PIPE_FORMAT_Y8U8V8_420_UNORM_PACKED', (PIPE_FORMAT_Y10U10V10_420_UNORM_PACKED:=251): 'PIPE_FORMAT_Y10U10V10_420_UNORM_PACKED', (PIPE_FORMAT_A4R4_UNORM:=252): 'PIPE_FORMAT_A4R4_UNORM', (PIPE_FORMAT_R4A4_UNORM:=253): 'PIPE_FORMAT_R4A4_UNORM', (PIPE_FORMAT_R8A8_UNORM:=254): 'PIPE_FORMAT_R8A8_UNORM', (PIPE_FORMAT_A8R8_UNORM:=255): 'PIPE_FORMAT_A8R8_UNORM', (PIPE_FORMAT_A8_UINT:=256): 'PIPE_FORMAT_A8_UINT', (PIPE_FORMAT_I8_UINT:=257): 'PIPE_FORMAT_I8_UINT', (PIPE_FORMAT_L8_UINT:=258): 'PIPE_FORMAT_L8_UINT', (PIPE_FORMAT_L8A8_UINT:=259): 'PIPE_FORMAT_L8A8_UINT', (PIPE_FORMAT_A8_SINT:=260): 'PIPE_FORMAT_A8_SINT', (PIPE_FORMAT_I8_SINT:=261): 'PIPE_FORMAT_I8_SINT', (PIPE_FORMAT_L8_SINT:=262): 'PIPE_FORMAT_L8_SINT', (PIPE_FORMAT_L8A8_SINT:=263): 'PIPE_FORMAT_L8A8_SINT', (PIPE_FORMAT_A16_UINT:=264): 'PIPE_FORMAT_A16_UINT', (PIPE_FORMAT_I16_UINT:=265): 'PIPE_FORMAT_I16_UINT', (PIPE_FORMAT_L16_UINT:=266): 'PIPE_FORMAT_L16_UINT', (PIPE_FORMAT_L16A16_UINT:=267): 'PIPE_FORMAT_L16A16_UINT', (PIPE_FORMAT_A16_SINT:=268): 'PIPE_FORMAT_A16_SINT', (PIPE_FORMAT_I16_SINT:=269): 'PIPE_FORMAT_I16_SINT', (PIPE_FORMAT_L16_SINT:=270): 'PIPE_FORMAT_L16_SINT', (PIPE_FORMAT_L16A16_SINT:=271): 'PIPE_FORMAT_L16A16_SINT', (PIPE_FORMAT_A32_UINT:=272): 'PIPE_FORMAT_A32_UINT', (PIPE_FORMAT_I32_UINT:=273): 'PIPE_FORMAT_I32_UINT', (PIPE_FORMAT_L32_UINT:=274): 'PIPE_FORMAT_L32_UINT', (PIPE_FORMAT_L32A32_UINT:=275): 'PIPE_FORMAT_L32A32_UINT', (PIPE_FORMAT_A32_SINT:=276): 'PIPE_FORMAT_A32_SINT', (PIPE_FORMAT_I32_SINT:=277): 'PIPE_FORMAT_I32_SINT', (PIPE_FORMAT_L32_SINT:=278): 'PIPE_FORMAT_L32_SINT', (PIPE_FORMAT_L32A32_SINT:=279): 'PIPE_FORMAT_L32A32_SINT', (PIPE_FORMAT_A8R8G8B8_UINT:=280): 'PIPE_FORMAT_A8R8G8B8_UINT', (PIPE_FORMAT_A8B8G8R8_UINT:=281): 'PIPE_FORMAT_A8B8G8R8_UINT', (PIPE_FORMAT_A2R10G10B10_UINT:=282): 'PIPE_FORMAT_A2R10G10B10_UINT', (PIPE_FORMAT_A2B10G10R10_UINT:=283): 'PIPE_FORMAT_A2B10G10R10_UINT', (PIPE_FORMAT_R5G6B5_UINT:=284): 'PIPE_FORMAT_R5G6B5_UINT', (PIPE_FORMAT_B5G6R5_UINT:=285): 'PIPE_FORMAT_B5G6R5_UINT', (PIPE_FORMAT_R5G5B5A1_UINT:=286): 'PIPE_FORMAT_R5G5B5A1_UINT', (PIPE_FORMAT_B5G5R5A1_UINT:=287): 'PIPE_FORMAT_B5G5R5A1_UINT', (PIPE_FORMAT_A1R5G5B5_UINT:=288): 'PIPE_FORMAT_A1R5G5B5_UINT', (PIPE_FORMAT_A1B5G5R5_UINT:=289): 'PIPE_FORMAT_A1B5G5R5_UINT', (PIPE_FORMAT_R4G4B4A4_UINT:=290): 'PIPE_FORMAT_R4G4B4A4_UINT', (PIPE_FORMAT_B4G4R4A4_UINT:=291): 'PIPE_FORMAT_B4G4R4A4_UINT', (PIPE_FORMAT_A4R4G4B4_UINT:=292): 'PIPE_FORMAT_A4R4G4B4_UINT', (PIPE_FORMAT_A4B4G4R4_UINT:=293): 'PIPE_FORMAT_A4B4G4R4_UINT', (PIPE_FORMAT_R3G3B2_UINT:=294): 'PIPE_FORMAT_R3G3B2_UINT', (PIPE_FORMAT_B2G3R3_UINT:=295): 'PIPE_FORMAT_B2G3R3_UINT', (PIPE_FORMAT_ETC1_RGB8:=296): 'PIPE_FORMAT_ETC1_RGB8', (PIPE_FORMAT_R8G8_R8B8_UNORM:=297): 'PIPE_FORMAT_R8G8_R8B8_UNORM', (PIPE_FORMAT_R8B8_R8G8_UNORM:=298): 'PIPE_FORMAT_R8B8_R8G8_UNORM', (PIPE_FORMAT_G8R8_B8R8_UNORM:=299): 'PIPE_FORMAT_G8R8_B8R8_UNORM', (PIPE_FORMAT_B8R8_G8R8_UNORM:=300): 'PIPE_FORMAT_B8R8_G8R8_UNORM', (PIPE_FORMAT_G8B8_G8R8_UNORM:=301): 'PIPE_FORMAT_G8B8_G8R8_UNORM', (PIPE_FORMAT_B8G8_R8G8_UNORM:=302): 'PIPE_FORMAT_B8G8_R8G8_UNORM', (PIPE_FORMAT_R8G8B8X8_SNORM:=303): 'PIPE_FORMAT_R8G8B8X8_SNORM', (PIPE_FORMAT_R8G8B8X8_SRGB:=304): 'PIPE_FORMAT_R8G8B8X8_SRGB', (PIPE_FORMAT_R8G8B8X8_UINT:=305): 'PIPE_FORMAT_R8G8B8X8_UINT', (PIPE_FORMAT_R8G8B8X8_SINT:=306): 'PIPE_FORMAT_R8G8B8X8_SINT', (PIPE_FORMAT_B10G10R10X2_UNORM:=307): 'PIPE_FORMAT_B10G10R10X2_UNORM', (PIPE_FORMAT_R16G16B16X16_UNORM:=308): 'PIPE_FORMAT_R16G16B16X16_UNORM', (PIPE_FORMAT_R16G16B16X16_SNORM:=309): 'PIPE_FORMAT_R16G16B16X16_SNORM', (PIPE_FORMAT_R16G16B16X16_FLOAT:=310): 'PIPE_FORMAT_R16G16B16X16_FLOAT', (PIPE_FORMAT_R16G16B16X16_UINT:=311): 'PIPE_FORMAT_R16G16B16X16_UINT', (PIPE_FORMAT_R16G16B16X16_SINT:=312): 'PIPE_FORMAT_R16G16B16X16_SINT', (PIPE_FORMAT_R32G32B32X32_FLOAT:=313): 'PIPE_FORMAT_R32G32B32X32_FLOAT', (PIPE_FORMAT_R32G32B32X32_UINT:=314): 'PIPE_FORMAT_R32G32B32X32_UINT', (PIPE_FORMAT_R32G32B32X32_SINT:=315): 'PIPE_FORMAT_R32G32B32X32_SINT', (PIPE_FORMAT_R8A8_SNORM:=316): 'PIPE_FORMAT_R8A8_SNORM', (PIPE_FORMAT_R16A16_UNORM:=317): 'PIPE_FORMAT_R16A16_UNORM', (PIPE_FORMAT_R16A16_SNORM:=318): 'PIPE_FORMAT_R16A16_SNORM', (PIPE_FORMAT_R16A16_FLOAT:=319): 'PIPE_FORMAT_R16A16_FLOAT', (PIPE_FORMAT_R32A32_FLOAT:=320): 'PIPE_FORMAT_R32A32_FLOAT', (PIPE_FORMAT_R8A8_UINT:=321): 'PIPE_FORMAT_R8A8_UINT', (PIPE_FORMAT_R8A8_SINT:=322): 'PIPE_FORMAT_R8A8_SINT', (PIPE_FORMAT_R16A16_UINT:=323): 'PIPE_FORMAT_R16A16_UINT', (PIPE_FORMAT_R16A16_SINT:=324): 'PIPE_FORMAT_R16A16_SINT', (PIPE_FORMAT_R32A32_UINT:=325): 'PIPE_FORMAT_R32A32_UINT', (PIPE_FORMAT_R32A32_SINT:=326): 'PIPE_FORMAT_R32A32_SINT', (PIPE_FORMAT_B5G6R5_SRGB:=327): 'PIPE_FORMAT_B5G6R5_SRGB', (PIPE_FORMAT_BPTC_RGBA_UNORM:=328): 'PIPE_FORMAT_BPTC_RGBA_UNORM', (PIPE_FORMAT_BPTC_SRGBA:=329): 'PIPE_FORMAT_BPTC_SRGBA', (PIPE_FORMAT_BPTC_RGB_FLOAT:=330): 'PIPE_FORMAT_BPTC_RGB_FLOAT', (PIPE_FORMAT_BPTC_RGB_UFLOAT:=331): 'PIPE_FORMAT_BPTC_RGB_UFLOAT', (PIPE_FORMAT_G8R8_UNORM:=332): 'PIPE_FORMAT_G8R8_UNORM', (PIPE_FORMAT_G8R8_SNORM:=333): 'PIPE_FORMAT_G8R8_SNORM', (PIPE_FORMAT_G16R16_UNORM:=334): 'PIPE_FORMAT_G16R16_UNORM', (PIPE_FORMAT_G16R16_SNORM:=335): 'PIPE_FORMAT_G16R16_SNORM', (PIPE_FORMAT_A8B8G8R8_SNORM:=336): 'PIPE_FORMAT_A8B8G8R8_SNORM', (PIPE_FORMAT_X8B8G8R8_SNORM:=337): 'PIPE_FORMAT_X8B8G8R8_SNORM', (PIPE_FORMAT_ETC2_RGB8:=338): 'PIPE_FORMAT_ETC2_RGB8', (PIPE_FORMAT_ETC2_SRGB8:=339): 'PIPE_FORMAT_ETC2_SRGB8', (PIPE_FORMAT_ETC2_RGB8A1:=340): 'PIPE_FORMAT_ETC2_RGB8A1', (PIPE_FORMAT_ETC2_SRGB8A1:=341): 'PIPE_FORMAT_ETC2_SRGB8A1', (PIPE_FORMAT_ETC2_RGBA8:=342): 'PIPE_FORMAT_ETC2_RGBA8', (PIPE_FORMAT_ETC2_SRGBA8:=343): 'PIPE_FORMAT_ETC2_SRGBA8', (PIPE_FORMAT_ETC2_R11_UNORM:=344): 'PIPE_FORMAT_ETC2_R11_UNORM', (PIPE_FORMAT_ETC2_R11_SNORM:=345): 'PIPE_FORMAT_ETC2_R11_SNORM', (PIPE_FORMAT_ETC2_RG11_UNORM:=346): 'PIPE_FORMAT_ETC2_RG11_UNORM', (PIPE_FORMAT_ETC2_RG11_SNORM:=347): 'PIPE_FORMAT_ETC2_RG11_SNORM', (PIPE_FORMAT_ASTC_4x4:=348): 'PIPE_FORMAT_ASTC_4x4', (PIPE_FORMAT_ASTC_5x4:=349): 'PIPE_FORMAT_ASTC_5x4', (PIPE_FORMAT_ASTC_5x5:=350): 'PIPE_FORMAT_ASTC_5x5', (PIPE_FORMAT_ASTC_6x5:=351): 'PIPE_FORMAT_ASTC_6x5', (PIPE_FORMAT_ASTC_6x6:=352): 'PIPE_FORMAT_ASTC_6x6', (PIPE_FORMAT_ASTC_8x5:=353): 'PIPE_FORMAT_ASTC_8x5', (PIPE_FORMAT_ASTC_8x6:=354): 'PIPE_FORMAT_ASTC_8x6', (PIPE_FORMAT_ASTC_8x8:=355): 'PIPE_FORMAT_ASTC_8x8', (PIPE_FORMAT_ASTC_10x5:=356): 'PIPE_FORMAT_ASTC_10x5', (PIPE_FORMAT_ASTC_10x6:=357): 'PIPE_FORMAT_ASTC_10x6', (PIPE_FORMAT_ASTC_10x8:=358): 'PIPE_FORMAT_ASTC_10x8', (PIPE_FORMAT_ASTC_10x10:=359): 'PIPE_FORMAT_ASTC_10x10', (PIPE_FORMAT_ASTC_12x10:=360): 'PIPE_FORMAT_ASTC_12x10', (PIPE_FORMAT_ASTC_12x12:=361): 'PIPE_FORMAT_ASTC_12x12', (PIPE_FORMAT_ASTC_4x4_SRGB:=362): 'PIPE_FORMAT_ASTC_4x4_SRGB', (PIPE_FORMAT_ASTC_5x4_SRGB:=363): 'PIPE_FORMAT_ASTC_5x4_SRGB', (PIPE_FORMAT_ASTC_5x5_SRGB:=364): 'PIPE_FORMAT_ASTC_5x5_SRGB', (PIPE_FORMAT_ASTC_6x5_SRGB:=365): 'PIPE_FORMAT_ASTC_6x5_SRGB', (PIPE_FORMAT_ASTC_6x6_SRGB:=366): 'PIPE_FORMAT_ASTC_6x6_SRGB', (PIPE_FORMAT_ASTC_8x5_SRGB:=367): 'PIPE_FORMAT_ASTC_8x5_SRGB', (PIPE_FORMAT_ASTC_8x6_SRGB:=368): 'PIPE_FORMAT_ASTC_8x6_SRGB', (PIPE_FORMAT_ASTC_8x8_SRGB:=369): 'PIPE_FORMAT_ASTC_8x8_SRGB', (PIPE_FORMAT_ASTC_10x5_SRGB:=370): 'PIPE_FORMAT_ASTC_10x5_SRGB', (PIPE_FORMAT_ASTC_10x6_SRGB:=371): 'PIPE_FORMAT_ASTC_10x6_SRGB', (PIPE_FORMAT_ASTC_10x8_SRGB:=372): 'PIPE_FORMAT_ASTC_10x8_SRGB', (PIPE_FORMAT_ASTC_10x10_SRGB:=373): 'PIPE_FORMAT_ASTC_10x10_SRGB', (PIPE_FORMAT_ASTC_12x10_SRGB:=374): 'PIPE_FORMAT_ASTC_12x10_SRGB', (PIPE_FORMAT_ASTC_12x12_SRGB:=375): 'PIPE_FORMAT_ASTC_12x12_SRGB', (PIPE_FORMAT_ASTC_3x3x3:=376): 'PIPE_FORMAT_ASTC_3x3x3', (PIPE_FORMAT_ASTC_4x3x3:=377): 'PIPE_FORMAT_ASTC_4x3x3', (PIPE_FORMAT_ASTC_4x4x3:=378): 'PIPE_FORMAT_ASTC_4x4x3', (PIPE_FORMAT_ASTC_4x4x4:=379): 'PIPE_FORMAT_ASTC_4x4x4', (PIPE_FORMAT_ASTC_5x4x4:=380): 'PIPE_FORMAT_ASTC_5x4x4', (PIPE_FORMAT_ASTC_5x5x4:=381): 'PIPE_FORMAT_ASTC_5x5x4', (PIPE_FORMAT_ASTC_5x5x5:=382): 'PIPE_FORMAT_ASTC_5x5x5', (PIPE_FORMAT_ASTC_6x5x5:=383): 'PIPE_FORMAT_ASTC_6x5x5', (PIPE_FORMAT_ASTC_6x6x5:=384): 'PIPE_FORMAT_ASTC_6x6x5', (PIPE_FORMAT_ASTC_6x6x6:=385): 'PIPE_FORMAT_ASTC_6x6x6', (PIPE_FORMAT_ASTC_3x3x3_SRGB:=386): 'PIPE_FORMAT_ASTC_3x3x3_SRGB', (PIPE_FORMAT_ASTC_4x3x3_SRGB:=387): 'PIPE_FORMAT_ASTC_4x3x3_SRGB', (PIPE_FORMAT_ASTC_4x4x3_SRGB:=388): 'PIPE_FORMAT_ASTC_4x4x3_SRGB', (PIPE_FORMAT_ASTC_4x4x4_SRGB:=389): 'PIPE_FORMAT_ASTC_4x4x4_SRGB', (PIPE_FORMAT_ASTC_5x4x4_SRGB:=390): 'PIPE_FORMAT_ASTC_5x4x4_SRGB', (PIPE_FORMAT_ASTC_5x5x4_SRGB:=391): 'PIPE_FORMAT_ASTC_5x5x4_SRGB', (PIPE_FORMAT_ASTC_5x5x5_SRGB:=392): 'PIPE_FORMAT_ASTC_5x5x5_SRGB', (PIPE_FORMAT_ASTC_6x5x5_SRGB:=393): 'PIPE_FORMAT_ASTC_6x5x5_SRGB', (PIPE_FORMAT_ASTC_6x6x5_SRGB:=394): 'PIPE_FORMAT_ASTC_6x6x5_SRGB', (PIPE_FORMAT_ASTC_6x6x6_SRGB:=395): 'PIPE_FORMAT_ASTC_6x6x6_SRGB', (PIPE_FORMAT_ASTC_4x4_FLOAT:=396): 'PIPE_FORMAT_ASTC_4x4_FLOAT', (PIPE_FORMAT_ASTC_5x4_FLOAT:=397): 'PIPE_FORMAT_ASTC_5x4_FLOAT', (PIPE_FORMAT_ASTC_5x5_FLOAT:=398): 'PIPE_FORMAT_ASTC_5x5_FLOAT', (PIPE_FORMAT_ASTC_6x5_FLOAT:=399): 'PIPE_FORMAT_ASTC_6x5_FLOAT', (PIPE_FORMAT_ASTC_6x6_FLOAT:=400): 'PIPE_FORMAT_ASTC_6x6_FLOAT', (PIPE_FORMAT_ASTC_8x5_FLOAT:=401): 'PIPE_FORMAT_ASTC_8x5_FLOAT', (PIPE_FORMAT_ASTC_8x6_FLOAT:=402): 'PIPE_FORMAT_ASTC_8x6_FLOAT', (PIPE_FORMAT_ASTC_8x8_FLOAT:=403): 'PIPE_FORMAT_ASTC_8x8_FLOAT', (PIPE_FORMAT_ASTC_10x5_FLOAT:=404): 'PIPE_FORMAT_ASTC_10x5_FLOAT', (PIPE_FORMAT_ASTC_10x6_FLOAT:=405): 'PIPE_FORMAT_ASTC_10x6_FLOAT', (PIPE_FORMAT_ASTC_10x8_FLOAT:=406): 'PIPE_FORMAT_ASTC_10x8_FLOAT', (PIPE_FORMAT_ASTC_10x10_FLOAT:=407): 'PIPE_FORMAT_ASTC_10x10_FLOAT', (PIPE_FORMAT_ASTC_12x10_FLOAT:=408): 'PIPE_FORMAT_ASTC_12x10_FLOAT', (PIPE_FORMAT_ASTC_12x12_FLOAT:=409): 'PIPE_FORMAT_ASTC_12x12_FLOAT', (PIPE_FORMAT_FXT1_RGB:=410): 'PIPE_FORMAT_FXT1_RGB', (PIPE_FORMAT_FXT1_RGBA:=411): 'PIPE_FORMAT_FXT1_RGBA', (PIPE_FORMAT_P010:=412): 'PIPE_FORMAT_P010', (PIPE_FORMAT_P012:=413): 'PIPE_FORMAT_P012', (PIPE_FORMAT_P016:=414): 'PIPE_FORMAT_P016', (PIPE_FORMAT_P030:=415): 'PIPE_FORMAT_P030', (PIPE_FORMAT_Y210:=416): 'PIPE_FORMAT_Y210', (PIPE_FORMAT_Y212:=417): 'PIPE_FORMAT_Y212', (PIPE_FORMAT_Y216:=418): 'PIPE_FORMAT_Y216', (PIPE_FORMAT_Y410:=419): 'PIPE_FORMAT_Y410', (PIPE_FORMAT_Y412:=420): 'PIPE_FORMAT_Y412', (PIPE_FORMAT_Y416:=421): 'PIPE_FORMAT_Y416', (PIPE_FORMAT_R10G10B10X2_UNORM:=422): 'PIPE_FORMAT_R10G10B10X2_UNORM', (PIPE_FORMAT_A1R5G5B5_UNORM:=423): 'PIPE_FORMAT_A1R5G5B5_UNORM', (PIPE_FORMAT_A1B5G5R5_UNORM:=424): 'PIPE_FORMAT_A1B5G5R5_UNORM', (PIPE_FORMAT_X1B5G5R5_UNORM:=425): 'PIPE_FORMAT_X1B5G5R5_UNORM', (PIPE_FORMAT_R5G5B5A1_UNORM:=426): 'PIPE_FORMAT_R5G5B5A1_UNORM', (PIPE_FORMAT_A4R4G4B4_UNORM:=427): 'PIPE_FORMAT_A4R4G4B4_UNORM', (PIPE_FORMAT_A4B4G4R4_UNORM:=428): 'PIPE_FORMAT_A4B4G4R4_UNORM', (PIPE_FORMAT_G8R8_SINT:=429): 'PIPE_FORMAT_G8R8_SINT', (PIPE_FORMAT_A8B8G8R8_SINT:=430): 'PIPE_FORMAT_A8B8G8R8_SINT', (PIPE_FORMAT_X8B8G8R8_SINT:=431): 'PIPE_FORMAT_X8B8G8R8_SINT', (PIPE_FORMAT_ATC_RGB:=432): 'PIPE_FORMAT_ATC_RGB', (PIPE_FORMAT_ATC_RGBA_EXPLICIT:=433): 'PIPE_FORMAT_ATC_RGBA_EXPLICIT', (PIPE_FORMAT_ATC_RGBA_INTERPOLATED:=434): 'PIPE_FORMAT_ATC_RGBA_INTERPOLATED', (PIPE_FORMAT_Z24_UNORM_S8_UINT_AS_R8G8B8A8:=435): 'PIPE_FORMAT_Z24_UNORM_S8_UINT_AS_R8G8B8A8', (PIPE_FORMAT_AYUV:=436): 'PIPE_FORMAT_AYUV', (PIPE_FORMAT_XYUV:=437): 'PIPE_FORMAT_XYUV', (PIPE_FORMAT_R8G8B8_420_UNORM_PACKED:=438): 'PIPE_FORMAT_R8G8B8_420_UNORM_PACKED', (PIPE_FORMAT_R8_G8B8_420_UNORM:=439): 'PIPE_FORMAT_R8_G8B8_420_UNORM', (PIPE_FORMAT_R8_B8G8_420_UNORM:=440): 'PIPE_FORMAT_R8_B8G8_420_UNORM', (PIPE_FORMAT_G8_B8R8_420_UNORM:=441): 'PIPE_FORMAT_G8_B8R8_420_UNORM', (PIPE_FORMAT_R10G10B10_420_UNORM_PACKED:=442): 'PIPE_FORMAT_R10G10B10_420_UNORM_PACKED', (PIPE_FORMAT_R10_G10B10_420_UNORM:=443): 'PIPE_FORMAT_R10_G10B10_420_UNORM', (PIPE_FORMAT_R10_G10B10_422_UNORM:=444): 'PIPE_FORMAT_R10_G10B10_422_UNORM', (PIPE_FORMAT_R8_G8_B8_420_UNORM:=445): 'PIPE_FORMAT_R8_G8_B8_420_UNORM', (PIPE_FORMAT_R8_B8_G8_420_UNORM:=446): 'PIPE_FORMAT_R8_B8_G8_420_UNORM', (PIPE_FORMAT_G8_B8_R8_420_UNORM:=447): 'PIPE_FORMAT_G8_B8_R8_420_UNORM', (PIPE_FORMAT_R8_G8B8_422_UNORM:=448): 'PIPE_FORMAT_R8_G8B8_422_UNORM', (PIPE_FORMAT_R8_B8G8_422_UNORM:=449): 'PIPE_FORMAT_R8_B8G8_422_UNORM', (PIPE_FORMAT_G8_B8R8_422_UNORM:=450): 'PIPE_FORMAT_G8_B8R8_422_UNORM', (PIPE_FORMAT_R8_G8_B8_UNORM:=451): 'PIPE_FORMAT_R8_G8_B8_UNORM', (PIPE_FORMAT_Y8_UNORM:=452): 'PIPE_FORMAT_Y8_UNORM', (PIPE_FORMAT_B8G8R8X8_SNORM:=453): 'PIPE_FORMAT_B8G8R8X8_SNORM', (PIPE_FORMAT_B8G8R8X8_UINT:=454): 'PIPE_FORMAT_B8G8R8X8_UINT', (PIPE_FORMAT_B8G8R8X8_SINT:=455): 'PIPE_FORMAT_B8G8R8X8_SINT', (PIPE_FORMAT_A8R8G8B8_SNORM:=456): 'PIPE_FORMAT_A8R8G8B8_SNORM', (PIPE_FORMAT_A8R8G8B8_SINT:=457): 'PIPE_FORMAT_A8R8G8B8_SINT', (PIPE_FORMAT_X8R8G8B8_SNORM:=458): 'PIPE_FORMAT_X8R8G8B8_SNORM', (PIPE_FORMAT_X8R8G8B8_SINT:=459): 'PIPE_FORMAT_X8R8G8B8_SINT', (PIPE_FORMAT_R5G5B5X1_UNORM:=460): 'PIPE_FORMAT_R5G5B5X1_UNORM', (PIPE_FORMAT_X1R5G5B5_UNORM:=461): 'PIPE_FORMAT_X1R5G5B5_UNORM', (PIPE_FORMAT_R4G4B4X4_UNORM:=462): 'PIPE_FORMAT_R4G4B4X4_UNORM', (PIPE_FORMAT_B10G10R10X2_SNORM:=463): 'PIPE_FORMAT_B10G10R10X2_SNORM', (PIPE_FORMAT_R5G6B5_SRGB:=464): 'PIPE_FORMAT_R5G6B5_SRGB', (PIPE_FORMAT_R10G10B10X2_SINT:=465): 'PIPE_FORMAT_R10G10B10X2_SINT', (PIPE_FORMAT_B10G10R10X2_SINT:=466): 'PIPE_FORMAT_B10G10R10X2_SINT', (PIPE_FORMAT_G16R16_SINT:=467): 'PIPE_FORMAT_G16R16_SINT', (PIPE_FORMAT_COUNT:=468): 'PIPE_FORMAT_COUNT'}
struct_nir_variable_data_image.register_fields([('format', ctypes.c_uint32, 0)])
@c.record
class struct_nir_variable_data_sampler(c.Struct):
  SIZE = 4
  is_inline_sampler: int
  addressing_mode: int
  normalized_coordinates: int
  filter_mode: int
struct_nir_variable_data_sampler.register_fields([('is_inline_sampler', ctypes.c_uint32, 0, 1, 0), ('addressing_mode', ctypes.c_uint32, 0, 3, 1), ('normalized_coordinates', ctypes.c_uint32, 0, 1, 4), ('filter_mode', ctypes.c_uint32, 0, 1, 5)])
@c.record
class struct_nir_variable_data_xfb(c.Struct):
  SIZE = 4
  buffer: int
  stride: int
struct_nir_variable_data_xfb.register_fields([('buffer', uint16_t, 0, 2, 0), ('stride', uint16_t, 2)])
struct_nir_variable_data.register_fields([('mode', ctypes.c_uint32, 0, 21, 0), ('read_only', ctypes.c_uint32, 2, 1, 5), ('centroid', ctypes.c_uint32, 2, 1, 6), ('sample', ctypes.c_uint32, 2, 1, 7), ('patch', ctypes.c_uint32, 3, 1, 0), ('invariant', ctypes.c_uint32, 3, 1, 1), ('explicit_invariant', ctypes.c_uint32, 3, 1, 2), ('ray_query', ctypes.c_uint32, 3, 1, 3), ('precision', ctypes.c_uint32, 3, 2, 4), ('assigned', ctypes.c_uint32, 3, 1, 6), ('cannot_coalesce', ctypes.c_uint32, 3, 1, 7), ('always_active_io', ctypes.c_uint32, 4, 1, 0), ('interpolation', ctypes.c_uint32, 4, 3, 1), ('location_frac', ctypes.c_uint32, 4, 2, 4), ('compact', ctypes.c_uint32, 4, 1, 6), ('fb_fetch_output', ctypes.c_uint32, 4, 1, 7), ('bindless', ctypes.c_uint32, 5, 1, 0), ('explicit_binding', ctypes.c_uint32, 5, 1, 1), ('explicit_location', ctypes.c_uint32, 5, 1, 2), ('implicit_sized_array', ctypes.c_uint32, 5, 1, 3), ('max_array_access', ctypes.c_int32, 8), ('has_initializer', ctypes.c_uint32, 12, 1, 0), ('is_implicit_initializer', ctypes.c_uint32, 12, 1, 1), ('is_xfb', ctypes.c_uint32, 12, 1, 2), ('is_xfb_only', ctypes.c_uint32, 12, 1, 3), ('explicit_xfb_buffer', ctypes.c_uint32, 12, 1, 4), ('explicit_xfb_stride', ctypes.c_uint32, 12, 1, 5), ('explicit_offset', ctypes.c_uint32, 12, 1, 6), ('matrix_layout', ctypes.c_uint32, 12, 2, 7), ('from_named_ifc_block', ctypes.c_uint32, 13, 1, 1), ('from_ssbo_unsized_array', ctypes.c_uint32, 13, 1, 2), ('must_be_shader_input', ctypes.c_uint32, 13, 1, 3), ('used', ctypes.c_uint32, 13, 1, 4), ('how_declared', ctypes.c_uint32, 13, 2, 5), ('per_view', ctypes.c_uint32, 13, 1, 7), ('per_primitive', ctypes.c_uint32, 14, 1, 0), ('per_vertex', ctypes.c_uint32, 14, 1, 1), ('aliased_shared_memory', ctypes.c_uint32, 14, 1, 2), ('depth_layout', ctypes.c_uint32, 14, 3, 3), ('stream', ctypes.c_uint32, 14, 9, 6), ('access', ctypes.c_uint32, 16, 9, 0), ('descriptor_set', ctypes.c_uint32, 17, 5, 1), ('index', ctypes.c_uint32, 20), ('binding', ctypes.c_uint32, 24), ('location', ctypes.c_int32, 28), ('alignment', ctypes.c_uint32, 32), ('driver_location', ctypes.c_uint32, 36), ('offset', ctypes.c_uint32, 40), ('image', struct_nir_variable_data_image, 44), ('sampler', struct_nir_variable_data_sampler, 44), ('xfb', struct_nir_variable_data_xfb, 44), ('node_name', c.POINTER[ctypes.c_char], 48)])
nir_variable_data: TypeAlias = struct_nir_variable_data
@c.record
class struct_nir_variable(c.Struct):
  SIZE = 152
  node: struct_exec_node
  type: c.POINTER[struct_glsl_type]
  name: c.POINTER[ctypes.c_char]
  data: struct_nir_variable_data
  index: int
  num_members: int
  max_ifc_array_access: c.POINTER[ctypes.c_int32]
  num_state_slots: int
  state_slots: c.POINTER[struct_nir_state_slot]
  constant_initializer: c.POINTER[struct_nir_constant]
  pointer_initializer: c.POINTER[struct_nir_variable]
  interface_type: c.POINTER[struct_glsl_type]
  members: c.POINTER[struct_nir_variable_data]
@c.record
class struct_exec_node(c.Struct):
  SIZE = 16
  next: c.POINTER[struct_exec_node]
  prev: c.POINTER[struct_exec_node]
struct_exec_node.register_fields([('next', c.POINTER[struct_exec_node], 0), ('prev', c.POINTER[struct_exec_node], 8)])
@c.record
class struct_glsl_type(c.Struct):
  SIZE = 48
  gl_type: int
  base_type: int
  sampled_type: int
  sampler_dimensionality: int
  sampler_shadow: int
  sampler_array: int
  interface_packing: int
  interface_row_major: int
  cmat_desc: struct_glsl_cmat_description
  packed: int
  has_builtin_name: int
  vector_elements: int
  matrix_columns: int
  length: int
  name_id: int
  explicit_stride: int
  explicit_alignment: int
  fields: struct_glsl_type_fields
enum_glsl_base_type: dict[int, str] = {(GLSL_TYPE_UINT:=0): 'GLSL_TYPE_UINT', (GLSL_TYPE_INT:=1): 'GLSL_TYPE_INT', (GLSL_TYPE_FLOAT:=2): 'GLSL_TYPE_FLOAT', (GLSL_TYPE_FLOAT16:=3): 'GLSL_TYPE_FLOAT16', (GLSL_TYPE_BFLOAT16:=4): 'GLSL_TYPE_BFLOAT16', (GLSL_TYPE_FLOAT_E4M3FN:=5): 'GLSL_TYPE_FLOAT_E4M3FN', (GLSL_TYPE_FLOAT_E5M2:=6): 'GLSL_TYPE_FLOAT_E5M2', (GLSL_TYPE_DOUBLE:=7): 'GLSL_TYPE_DOUBLE', (GLSL_TYPE_UINT8:=8): 'GLSL_TYPE_UINT8', (GLSL_TYPE_INT8:=9): 'GLSL_TYPE_INT8', (GLSL_TYPE_UINT16:=10): 'GLSL_TYPE_UINT16', (GLSL_TYPE_INT16:=11): 'GLSL_TYPE_INT16', (GLSL_TYPE_UINT64:=12): 'GLSL_TYPE_UINT64', (GLSL_TYPE_INT64:=13): 'GLSL_TYPE_INT64', (GLSL_TYPE_BOOL:=14): 'GLSL_TYPE_BOOL', (GLSL_TYPE_COOPERATIVE_MATRIX:=15): 'GLSL_TYPE_COOPERATIVE_MATRIX', (GLSL_TYPE_SAMPLER:=16): 'GLSL_TYPE_SAMPLER', (GLSL_TYPE_TEXTURE:=17): 'GLSL_TYPE_TEXTURE', (GLSL_TYPE_IMAGE:=18): 'GLSL_TYPE_IMAGE', (GLSL_TYPE_ATOMIC_UINT:=19): 'GLSL_TYPE_ATOMIC_UINT', (GLSL_TYPE_STRUCT:=20): 'GLSL_TYPE_STRUCT', (GLSL_TYPE_INTERFACE:=21): 'GLSL_TYPE_INTERFACE', (GLSL_TYPE_ARRAY:=22): 'GLSL_TYPE_ARRAY', (GLSL_TYPE_VOID:=23): 'GLSL_TYPE_VOID', (GLSL_TYPE_SUBROUTINE:=24): 'GLSL_TYPE_SUBROUTINE', (GLSL_TYPE_ERROR:=25): 'GLSL_TYPE_ERROR'}
@c.record
class struct_glsl_cmat_description(c.Struct):
  SIZE = 4
  element_type: int
  scope: int
  rows: int
  cols: int
  use: int
struct_glsl_cmat_description.register_fields([('element_type', uint8_t, 0, 5, 0), ('scope', uint8_t, 0, 3, 5), ('rows', uint8_t, 1), ('cols', uint8_t, 2), ('use', uint8_t, 3)])
uintptr_t: TypeAlias = ctypes.c_uint64
@c.record
class struct_glsl_type_fields(c.Struct):
  SIZE = 8
  array: c.POINTER[struct_glsl_type]
  structure: c.POINTER[struct_glsl_struct_field]
glsl_type: TypeAlias = struct_glsl_type
@c.record
class struct_glsl_struct_field(c.Struct):
  SIZE = 48
  type: c.POINTER[struct_glsl_type]
  name: c.POINTER[ctypes.c_char]
  location: int
  component: int
  offset: int
  xfb_buffer: int
  xfb_stride: int
  image_format: int
  interpolation: int
  centroid: int
  sample: int
  matrix_layout: int
  patch: int
  precision: int
  memory_read_only: int
  memory_write_only: int
  memory_coherent: int
  memory_volatile: int
  memory_restrict: int
  explicit_xfb_buffer: int
  implicit_sized_array: int
  flags: int
glsl_struct_field: TypeAlias = struct_glsl_struct_field
struct_glsl_struct_field.register_fields([('type', c.POINTER[glsl_type], 0), ('name', c.POINTER[ctypes.c_char], 8), ('location', ctypes.c_int32, 16), ('component', ctypes.c_int32, 20), ('offset', ctypes.c_int32, 24), ('xfb_buffer', ctypes.c_int32, 28), ('xfb_stride', ctypes.c_int32, 32), ('image_format', ctypes.c_uint32, 36), ('interpolation', ctypes.c_uint32, 40, 3, 0), ('centroid', ctypes.c_uint32, 40, 1, 3), ('sample', ctypes.c_uint32, 40, 1, 4), ('matrix_layout', ctypes.c_uint32, 40, 2, 5), ('patch', ctypes.c_uint32, 40, 1, 7), ('precision', ctypes.c_uint32, 41, 2, 0), ('memory_read_only', ctypes.c_uint32, 41, 1, 2), ('memory_write_only', ctypes.c_uint32, 41, 1, 3), ('memory_coherent', ctypes.c_uint32, 41, 1, 4), ('memory_volatile', ctypes.c_uint32, 41, 1, 5), ('memory_restrict', ctypes.c_uint32, 41, 1, 6), ('explicit_xfb_buffer', ctypes.c_uint32, 41, 1, 7), ('implicit_sized_array', ctypes.c_uint32, 42, 1, 0), ('flags', ctypes.c_uint32, 40)])
struct_glsl_type_fields.register_fields([('array', c.POINTER[glsl_type], 0), ('structure', c.POINTER[glsl_struct_field], 0)])
struct_glsl_type.register_fields([('gl_type', uint32_t, 0), ('base_type', ctypes.c_uint32, 4, 8, 0), ('sampled_type', ctypes.c_uint32, 5, 8, 0), ('sampler_dimensionality', ctypes.c_uint32, 6, 4, 0), ('sampler_shadow', ctypes.c_uint32, 6, 1, 4), ('sampler_array', ctypes.c_uint32, 6, 1, 5), ('interface_packing', ctypes.c_uint32, 6, 2, 6), ('interface_row_major', ctypes.c_uint32, 7, 1, 0), ('cmat_desc', struct_glsl_cmat_description, 8), ('packed', ctypes.c_uint32, 12, 1, 0), ('has_builtin_name', ctypes.c_uint32, 12, 1, 1), ('vector_elements', uint8_t, 13), ('matrix_columns', uint8_t, 14), ('length', ctypes.c_uint32, 16), ('name_id', uintptr_t, 24), ('explicit_stride', ctypes.c_uint32, 32), ('explicit_alignment', ctypes.c_uint32, 36), ('fields', struct_glsl_type_fields, 40)])
nir_variable: TypeAlias = struct_nir_variable
struct_nir_variable.register_fields([('node', struct_exec_node, 0), ('type', c.POINTER[struct_glsl_type], 16), ('name', c.POINTER[ctypes.c_char], 24), ('data', struct_nir_variable_data, 32), ('index', ctypes.c_uint32, 88), ('num_members', uint16_t, 92), ('max_ifc_array_access', c.POINTER[ctypes.c_int32], 96), ('num_state_slots', uint16_t, 104), ('state_slots', c.POINTER[nir_state_slot], 112), ('constant_initializer', c.POINTER[nir_constant], 120), ('pointer_initializer', c.POINTER[nir_variable], 128), ('interface_type', c.POINTER[struct_glsl_type], 136), ('members', c.POINTER[nir_variable_data], 144)])
nir_instr_type: dict[int, str] = {(nir_instr_type_alu:=0): 'nir_instr_type_alu', (nir_instr_type_deref:=1): 'nir_instr_type_deref', (nir_instr_type_call:=2): 'nir_instr_type_call', (nir_instr_type_tex:=3): 'nir_instr_type_tex', (nir_instr_type_intrinsic:=4): 'nir_instr_type_intrinsic', (nir_instr_type_load_const:=5): 'nir_instr_type_load_const', (nir_instr_type_jump:=6): 'nir_instr_type_jump', (nir_instr_type_undef:=7): 'nir_instr_type_undef', (nir_instr_type_phi:=8): 'nir_instr_type_phi', (nir_instr_type_parallel_copy:=9): 'nir_instr_type_parallel_copy'}
@c.record
class struct_nir_instr(c.Struct):
  SIZE = 32
  node: struct_exec_node
  block: c.POINTER[struct_nir_block]
  type: int
  pass_flags: int
  has_debug_info: bool
  index: int
@c.record
class struct_nir_block(c.Struct):
  SIZE = 160
  cf_node: struct_nir_cf_node
  instr_list: struct_exec_list
  index: int
  divergent: bool
  successors: c.Array[c.POINTER[struct_nir_block], Literal[2]]
  predecessors: c.POINTER[struct_set]
  imm_dom: c.POINTER[struct_nir_block]
  num_dom_children: int
  dom_children: c.POINTER[c.POINTER[struct_nir_block]]
  dom_frontier: c.POINTER[struct_set]
  dom_pre_index: int
  dom_post_index: int
  start_ip: int
  end_ip: int
  live_in: c.POINTER[ctypes.c_uint32]
  live_out: c.POINTER[ctypes.c_uint32]
nir_block: TypeAlias = struct_nir_block
@c.record
class struct_nir_cf_node(c.Struct):
  SIZE = 32
  node: struct_exec_node
  type: int
  parent: c.POINTER[struct_nir_cf_node]
nir_cf_node: TypeAlias = struct_nir_cf_node
nir_cf_node_type: dict[int, str] = {(nir_cf_node_block:=0): 'nir_cf_node_block', (nir_cf_node_if:=1): 'nir_cf_node_if', (nir_cf_node_loop:=2): 'nir_cf_node_loop', (nir_cf_node_function:=3): 'nir_cf_node_function'}
struct_nir_cf_node.register_fields([('node', struct_exec_node, 0), ('type', ctypes.c_uint32, 16), ('parent', c.POINTER[nir_cf_node], 24)])
@c.record
class struct_exec_list(c.Struct):
  SIZE = 32
  head_sentinel: struct_exec_node
  tail_sentinel: struct_exec_node
struct_exec_list.register_fields([('head_sentinel', struct_exec_node, 0), ('tail_sentinel', struct_exec_node, 16)])
@c.record
class struct_set(c.Struct):
  SIZE = 72
  mem_ctx: ctypes.c_void_p
  table: c.POINTER[struct_set_entry]
  key_hash_function: c.CFUNCTYPE[ctypes.c_uint32, [ctypes.c_void_p]]
  key_equals_function: c.CFUNCTYPE[ctypes.c_bool, [ctypes.c_void_p, ctypes.c_void_p]]
  size: int
  rehash: int
  size_magic: int
  rehash_magic: int
  max_entries: int
  size_index: int
  entries: int
  deleted_entries: int
@c.record
class struct_set_entry(c.Struct):
  SIZE = 16
  hash: int
  key: ctypes.c_void_p
struct_set_entry.register_fields([('hash', uint32_t, 0), ('key', ctypes.c_void_p, 8)])
struct_set.register_fields([('mem_ctx', ctypes.c_void_p, 0), ('table', c.POINTER[struct_set_entry], 8), ('key_hash_function', c.CFUNCTYPE[uint32_t, [ctypes.c_void_p]], 16), ('key_equals_function', c.CFUNCTYPE[ctypes.c_bool, [ctypes.c_void_p, ctypes.c_void_p]], 24), ('size', uint32_t, 32), ('rehash', uint32_t, 36), ('size_magic', uint64_t, 40), ('rehash_magic', uint64_t, 48), ('max_entries', uint32_t, 56), ('size_index', uint32_t, 60), ('entries', uint32_t, 64), ('deleted_entries', uint32_t, 68)])
struct_nir_block.register_fields([('cf_node', nir_cf_node, 0), ('instr_list', struct_exec_list, 32), ('index', ctypes.c_uint32, 64), ('divergent', ctypes.c_bool, 68), ('successors', c.Array[c.POINTER[nir_block], Literal[2]], 72), ('predecessors', c.POINTER[struct_set], 88), ('imm_dom', c.POINTER[nir_block], 96), ('num_dom_children', ctypes.c_uint32, 104), ('dom_children', c.POINTER[c.POINTER[nir_block]], 112), ('dom_frontier', c.POINTER[struct_set], 120), ('dom_pre_index', uint32_t, 128), ('dom_post_index', uint32_t, 132), ('start_ip', uint32_t, 136), ('end_ip', uint32_t, 140), ('live_in', c.POINTER[ctypes.c_uint32], 144), ('live_out', c.POINTER[ctypes.c_uint32], 152)])
struct_nir_instr.register_fields([('node', struct_exec_node, 0), ('block', c.POINTER[nir_block], 16), ('type', ctypes.c_ubyte, 24), ('pass_flags', uint8_t, 25), ('has_debug_info', ctypes.c_bool, 26), ('index', uint32_t, 28)])
nir_instr: TypeAlias = struct_nir_instr
@c.record
class struct_nir_def(c.Struct):
  SIZE = 32
  parent_instr: c.POINTER[struct_nir_instr]
  uses: struct_list_head
  index: int
  num_components: int
  bit_size: int
  divergent: bool
  loop_invariant: bool
@c.record
class struct_list_head(c.Struct):
  SIZE = 16
  prev: c.POINTER[struct_list_head]
  next: c.POINTER[struct_list_head]
struct_list_head.register_fields([('prev', c.POINTER[struct_list_head], 0), ('next', c.POINTER[struct_list_head], 8)])
struct_nir_def.register_fields([('parent_instr', c.POINTER[nir_instr], 0), ('uses', struct_list_head, 8), ('index', ctypes.c_uint32, 24), ('num_components', uint8_t, 28), ('bit_size', uint8_t, 29), ('divergent', ctypes.c_bool, 30), ('loop_invariant', ctypes.c_bool, 31)])
nir_def: TypeAlias = struct_nir_def
@c.record
class struct_nir_src(c.Struct):
  SIZE = 32
  _parent: int
  use_link: struct_list_head
  ssa: c.POINTER[struct_nir_def]
struct_nir_src.register_fields([('_parent', uintptr_t, 0), ('use_link', struct_list_head, 8), ('ssa', c.POINTER[nir_def], 24)])
nir_src: TypeAlias = struct_nir_src
@dll.bind(ctypes.c_bool, c.POINTER[nir_src])
def nir_src_is_divergent(src:c.POINTER[nir_src]) -> bool: ...
@c.record
class struct_nir_alu_src(c.Struct):
  SIZE = 48
  src: struct_nir_src
  swizzle: c.Array[ctypes.c_ubyte, Literal[16]]
struct_nir_alu_src.register_fields([('src', nir_src, 0), ('swizzle', c.Array[uint8_t, Literal[16]], 32)])
nir_alu_src: TypeAlias = struct_nir_alu_src
nir_alu_type: dict[int, str] = {(nir_type_invalid:=0): 'nir_type_invalid', (nir_type_int:=2): 'nir_type_int', (nir_type_uint:=4): 'nir_type_uint', (nir_type_bool:=6): 'nir_type_bool', (nir_type_float:=128): 'nir_type_float', (nir_type_bool1:=7): 'nir_type_bool1', (nir_type_bool8:=14): 'nir_type_bool8', (nir_type_bool16:=22): 'nir_type_bool16', (nir_type_bool32:=38): 'nir_type_bool32', (nir_type_int1:=3): 'nir_type_int1', (nir_type_int8:=10): 'nir_type_int8', (nir_type_int16:=18): 'nir_type_int16', (nir_type_int32:=34): 'nir_type_int32', (nir_type_int64:=66): 'nir_type_int64', (nir_type_uint1:=5): 'nir_type_uint1', (nir_type_uint8:=12): 'nir_type_uint8', (nir_type_uint16:=20): 'nir_type_uint16', (nir_type_uint32:=36): 'nir_type_uint32', (nir_type_uint64:=68): 'nir_type_uint64', (nir_type_float16:=144): 'nir_type_float16', (nir_type_float32:=160): 'nir_type_float32', (nir_type_float64:=192): 'nir_type_float64'}
@dll.bind(ctypes.c_ubyte, ctypes.c_uint32)
def nir_get_nir_type_for_glsl_base_type(base_type:ctypes.c_uint32) -> ctypes.c_ubyte: ...
@dll.bind(ctypes.c_uint32, ctypes.c_ubyte)
def nir_get_glsl_base_type_for_nir_type(base_type:ctypes.c_ubyte) -> ctypes.c_uint32: ...
nir_op: dict[int, str] = {(nir_op_alignbyte_amd:=0): 'nir_op_alignbyte_amd', (nir_op_amul:=1): 'nir_op_amul', (nir_op_andg_ir3:=2): 'nir_op_andg_ir3', (nir_op_b16all_fequal16:=3): 'nir_op_b16all_fequal16', (nir_op_b16all_fequal2:=4): 'nir_op_b16all_fequal2', (nir_op_b16all_fequal3:=5): 'nir_op_b16all_fequal3', (nir_op_b16all_fequal4:=6): 'nir_op_b16all_fequal4', (nir_op_b16all_fequal5:=7): 'nir_op_b16all_fequal5', (nir_op_b16all_fequal8:=8): 'nir_op_b16all_fequal8', (nir_op_b16all_iequal16:=9): 'nir_op_b16all_iequal16', (nir_op_b16all_iequal2:=10): 'nir_op_b16all_iequal2', (nir_op_b16all_iequal3:=11): 'nir_op_b16all_iequal3', (nir_op_b16all_iequal4:=12): 'nir_op_b16all_iequal4', (nir_op_b16all_iequal5:=13): 'nir_op_b16all_iequal5', (nir_op_b16all_iequal8:=14): 'nir_op_b16all_iequal8', (nir_op_b16any_fnequal16:=15): 'nir_op_b16any_fnequal16', (nir_op_b16any_fnequal2:=16): 'nir_op_b16any_fnequal2', (nir_op_b16any_fnequal3:=17): 'nir_op_b16any_fnequal3', (nir_op_b16any_fnequal4:=18): 'nir_op_b16any_fnequal4', (nir_op_b16any_fnequal5:=19): 'nir_op_b16any_fnequal5', (nir_op_b16any_fnequal8:=20): 'nir_op_b16any_fnequal8', (nir_op_b16any_inequal16:=21): 'nir_op_b16any_inequal16', (nir_op_b16any_inequal2:=22): 'nir_op_b16any_inequal2', (nir_op_b16any_inequal3:=23): 'nir_op_b16any_inequal3', (nir_op_b16any_inequal4:=24): 'nir_op_b16any_inequal4', (nir_op_b16any_inequal5:=25): 'nir_op_b16any_inequal5', (nir_op_b16any_inequal8:=26): 'nir_op_b16any_inequal8', (nir_op_b16csel:=27): 'nir_op_b16csel', (nir_op_b2b1:=28): 'nir_op_b2b1', (nir_op_b2b16:=29): 'nir_op_b2b16', (nir_op_b2b32:=30): 'nir_op_b2b32', (nir_op_b2b8:=31): 'nir_op_b2b8', (nir_op_b2f16:=32): 'nir_op_b2f16', (nir_op_b2f32:=33): 'nir_op_b2f32', (nir_op_b2f64:=34): 'nir_op_b2f64', (nir_op_b2i1:=35): 'nir_op_b2i1', (nir_op_b2i16:=36): 'nir_op_b2i16', (nir_op_b2i32:=37): 'nir_op_b2i32', (nir_op_b2i64:=38): 'nir_op_b2i64', (nir_op_b2i8:=39): 'nir_op_b2i8', (nir_op_b32all_fequal16:=40): 'nir_op_b32all_fequal16', (nir_op_b32all_fequal2:=41): 'nir_op_b32all_fequal2', (nir_op_b32all_fequal3:=42): 'nir_op_b32all_fequal3', (nir_op_b32all_fequal4:=43): 'nir_op_b32all_fequal4', (nir_op_b32all_fequal5:=44): 'nir_op_b32all_fequal5', (nir_op_b32all_fequal8:=45): 'nir_op_b32all_fequal8', (nir_op_b32all_iequal16:=46): 'nir_op_b32all_iequal16', (nir_op_b32all_iequal2:=47): 'nir_op_b32all_iequal2', (nir_op_b32all_iequal3:=48): 'nir_op_b32all_iequal3', (nir_op_b32all_iequal4:=49): 'nir_op_b32all_iequal4', (nir_op_b32all_iequal5:=50): 'nir_op_b32all_iequal5', (nir_op_b32all_iequal8:=51): 'nir_op_b32all_iequal8', (nir_op_b32any_fnequal16:=52): 'nir_op_b32any_fnequal16', (nir_op_b32any_fnequal2:=53): 'nir_op_b32any_fnequal2', (nir_op_b32any_fnequal3:=54): 'nir_op_b32any_fnequal3', (nir_op_b32any_fnequal4:=55): 'nir_op_b32any_fnequal4', (nir_op_b32any_fnequal5:=56): 'nir_op_b32any_fnequal5', (nir_op_b32any_fnequal8:=57): 'nir_op_b32any_fnequal8', (nir_op_b32any_inequal16:=58): 'nir_op_b32any_inequal16', (nir_op_b32any_inequal2:=59): 'nir_op_b32any_inequal2', (nir_op_b32any_inequal3:=60): 'nir_op_b32any_inequal3', (nir_op_b32any_inequal4:=61): 'nir_op_b32any_inequal4', (nir_op_b32any_inequal5:=62): 'nir_op_b32any_inequal5', (nir_op_b32any_inequal8:=63): 'nir_op_b32any_inequal8', (nir_op_b32csel:=64): 'nir_op_b32csel', (nir_op_b32fcsel_mdg:=65): 'nir_op_b32fcsel_mdg', (nir_op_b8all_fequal16:=66): 'nir_op_b8all_fequal16', (nir_op_b8all_fequal2:=67): 'nir_op_b8all_fequal2', (nir_op_b8all_fequal3:=68): 'nir_op_b8all_fequal3', (nir_op_b8all_fequal4:=69): 'nir_op_b8all_fequal4', (nir_op_b8all_fequal5:=70): 'nir_op_b8all_fequal5', (nir_op_b8all_fequal8:=71): 'nir_op_b8all_fequal8', (nir_op_b8all_iequal16:=72): 'nir_op_b8all_iequal16', (nir_op_b8all_iequal2:=73): 'nir_op_b8all_iequal2', (nir_op_b8all_iequal3:=74): 'nir_op_b8all_iequal3', (nir_op_b8all_iequal4:=75): 'nir_op_b8all_iequal4', (nir_op_b8all_iequal5:=76): 'nir_op_b8all_iequal5', (nir_op_b8all_iequal8:=77): 'nir_op_b8all_iequal8', (nir_op_b8any_fnequal16:=78): 'nir_op_b8any_fnequal16', (nir_op_b8any_fnequal2:=79): 'nir_op_b8any_fnequal2', (nir_op_b8any_fnequal3:=80): 'nir_op_b8any_fnequal3', (nir_op_b8any_fnequal4:=81): 'nir_op_b8any_fnequal4', (nir_op_b8any_fnequal5:=82): 'nir_op_b8any_fnequal5', (nir_op_b8any_fnequal8:=83): 'nir_op_b8any_fnequal8', (nir_op_b8any_inequal16:=84): 'nir_op_b8any_inequal16', (nir_op_b8any_inequal2:=85): 'nir_op_b8any_inequal2', (nir_op_b8any_inequal3:=86): 'nir_op_b8any_inequal3', (nir_op_b8any_inequal4:=87): 'nir_op_b8any_inequal4', (nir_op_b8any_inequal5:=88): 'nir_op_b8any_inequal5', (nir_op_b8any_inequal8:=89): 'nir_op_b8any_inequal8', (nir_op_b8csel:=90): 'nir_op_b8csel', (nir_op_ball_fequal16:=91): 'nir_op_ball_fequal16', (nir_op_ball_fequal2:=92): 'nir_op_ball_fequal2', (nir_op_ball_fequal3:=93): 'nir_op_ball_fequal3', (nir_op_ball_fequal4:=94): 'nir_op_ball_fequal4', (nir_op_ball_fequal5:=95): 'nir_op_ball_fequal5', (nir_op_ball_fequal8:=96): 'nir_op_ball_fequal8', (nir_op_ball_iequal16:=97): 'nir_op_ball_iequal16', (nir_op_ball_iequal2:=98): 'nir_op_ball_iequal2', (nir_op_ball_iequal3:=99): 'nir_op_ball_iequal3', (nir_op_ball_iequal4:=100): 'nir_op_ball_iequal4', (nir_op_ball_iequal5:=101): 'nir_op_ball_iequal5', (nir_op_ball_iequal8:=102): 'nir_op_ball_iequal8', (nir_op_bany_fnequal16:=103): 'nir_op_bany_fnequal16', (nir_op_bany_fnequal2:=104): 'nir_op_bany_fnequal2', (nir_op_bany_fnequal3:=105): 'nir_op_bany_fnequal3', (nir_op_bany_fnequal4:=106): 'nir_op_bany_fnequal4', (nir_op_bany_fnequal5:=107): 'nir_op_bany_fnequal5', (nir_op_bany_fnequal8:=108): 'nir_op_bany_fnequal8', (nir_op_bany_inequal16:=109): 'nir_op_bany_inequal16', (nir_op_bany_inequal2:=110): 'nir_op_bany_inequal2', (nir_op_bany_inequal3:=111): 'nir_op_bany_inequal3', (nir_op_bany_inequal4:=112): 'nir_op_bany_inequal4', (nir_op_bany_inequal5:=113): 'nir_op_bany_inequal5', (nir_op_bany_inequal8:=114): 'nir_op_bany_inequal8', (nir_op_bcsel:=115): 'nir_op_bcsel', (nir_op_bf2f:=116): 'nir_op_bf2f', (nir_op_bfdot16:=117): 'nir_op_bfdot16', (nir_op_bfdot2:=118): 'nir_op_bfdot2', (nir_op_bfdot2_bfadd:=119): 'nir_op_bfdot2_bfadd', (nir_op_bfdot3:=120): 'nir_op_bfdot3', (nir_op_bfdot4:=121): 'nir_op_bfdot4', (nir_op_bfdot5:=122): 'nir_op_bfdot5', (nir_op_bfdot8:=123): 'nir_op_bfdot8', (nir_op_bffma:=124): 'nir_op_bffma', (nir_op_bfi:=125): 'nir_op_bfi', (nir_op_bfm:=126): 'nir_op_bfm', (nir_op_bfmul:=127): 'nir_op_bfmul', (nir_op_bit_count:=128): 'nir_op_bit_count', (nir_op_bitfield_insert:=129): 'nir_op_bitfield_insert', (nir_op_bitfield_reverse:=130): 'nir_op_bitfield_reverse', (nir_op_bitfield_select:=131): 'nir_op_bitfield_select', (nir_op_bitnz:=132): 'nir_op_bitnz', (nir_op_bitnz16:=133): 'nir_op_bitnz16', (nir_op_bitnz32:=134): 'nir_op_bitnz32', (nir_op_bitnz8:=135): 'nir_op_bitnz8', (nir_op_bitz:=136): 'nir_op_bitz', (nir_op_bitz16:=137): 'nir_op_bitz16', (nir_op_bitz32:=138): 'nir_op_bitz32', (nir_op_bitz8:=139): 'nir_op_bitz8', (nir_op_bounds_agx:=140): 'nir_op_bounds_agx', (nir_op_byte_perm_amd:=141): 'nir_op_byte_perm_amd', (nir_op_cube_amd:=142): 'nir_op_cube_amd', (nir_op_e4m3fn2f:=143): 'nir_op_e4m3fn2f', (nir_op_e5m22f:=144): 'nir_op_e5m22f', (nir_op_extr_agx:=145): 'nir_op_extr_agx', (nir_op_extract_i16:=146): 'nir_op_extract_i16', (nir_op_extract_i8:=147): 'nir_op_extract_i8', (nir_op_extract_u16:=148): 'nir_op_extract_u16', (nir_op_extract_u8:=149): 'nir_op_extract_u8', (nir_op_f2bf:=150): 'nir_op_f2bf', (nir_op_f2e4m3fn:=151): 'nir_op_f2e4m3fn', (nir_op_f2e4m3fn_sat:=152): 'nir_op_f2e4m3fn_sat', (nir_op_f2e4m3fn_satfn:=153): 'nir_op_f2e4m3fn_satfn', (nir_op_f2e5m2:=154): 'nir_op_f2e5m2', (nir_op_f2e5m2_sat:=155): 'nir_op_f2e5m2_sat', (nir_op_f2f16:=156): 'nir_op_f2f16', (nir_op_f2f16_rtne:=157): 'nir_op_f2f16_rtne', (nir_op_f2f16_rtz:=158): 'nir_op_f2f16_rtz', (nir_op_f2f32:=159): 'nir_op_f2f32', (nir_op_f2f64:=160): 'nir_op_f2f64', (nir_op_f2fmp:=161): 'nir_op_f2fmp', (nir_op_f2i1:=162): 'nir_op_f2i1', (nir_op_f2i16:=163): 'nir_op_f2i16', (nir_op_f2i32:=164): 'nir_op_f2i32', (nir_op_f2i64:=165): 'nir_op_f2i64', (nir_op_f2i8:=166): 'nir_op_f2i8', (nir_op_f2imp:=167): 'nir_op_f2imp', (nir_op_f2snorm_16_v3d:=168): 'nir_op_f2snorm_16_v3d', (nir_op_f2u1:=169): 'nir_op_f2u1', (nir_op_f2u16:=170): 'nir_op_f2u16', (nir_op_f2u32:=171): 'nir_op_f2u32', (nir_op_f2u64:=172): 'nir_op_f2u64', (nir_op_f2u8:=173): 'nir_op_f2u8', (nir_op_f2ump:=174): 'nir_op_f2ump', (nir_op_f2unorm_16_v3d:=175): 'nir_op_f2unorm_16_v3d', (nir_op_fabs:=176): 'nir_op_fabs', (nir_op_fadd:=177): 'nir_op_fadd', (nir_op_fall_equal16:=178): 'nir_op_fall_equal16', (nir_op_fall_equal2:=179): 'nir_op_fall_equal2', (nir_op_fall_equal3:=180): 'nir_op_fall_equal3', (nir_op_fall_equal4:=181): 'nir_op_fall_equal4', (nir_op_fall_equal5:=182): 'nir_op_fall_equal5', (nir_op_fall_equal8:=183): 'nir_op_fall_equal8', (nir_op_fany_nequal16:=184): 'nir_op_fany_nequal16', (nir_op_fany_nequal2:=185): 'nir_op_fany_nequal2', (nir_op_fany_nequal3:=186): 'nir_op_fany_nequal3', (nir_op_fany_nequal4:=187): 'nir_op_fany_nequal4', (nir_op_fany_nequal5:=188): 'nir_op_fany_nequal5', (nir_op_fany_nequal8:=189): 'nir_op_fany_nequal8', (nir_op_fceil:=190): 'nir_op_fceil', (nir_op_fclamp_pos:=191): 'nir_op_fclamp_pos', (nir_op_fcos:=192): 'nir_op_fcos', (nir_op_fcos_amd:=193): 'nir_op_fcos_amd', (nir_op_fcos_mdg:=194): 'nir_op_fcos_mdg', (nir_op_fcsel:=195): 'nir_op_fcsel', (nir_op_fcsel_ge:=196): 'nir_op_fcsel_ge', (nir_op_fcsel_gt:=197): 'nir_op_fcsel_gt', (nir_op_fdiv:=198): 'nir_op_fdiv', (nir_op_fdot16:=199): 'nir_op_fdot16', (nir_op_fdot16_replicated:=200): 'nir_op_fdot16_replicated', (nir_op_fdot2:=201): 'nir_op_fdot2', (nir_op_fdot2_replicated:=202): 'nir_op_fdot2_replicated', (nir_op_fdot3:=203): 'nir_op_fdot3', (nir_op_fdot3_replicated:=204): 'nir_op_fdot3_replicated', (nir_op_fdot4:=205): 'nir_op_fdot4', (nir_op_fdot4_replicated:=206): 'nir_op_fdot4_replicated', (nir_op_fdot5:=207): 'nir_op_fdot5', (nir_op_fdot5_replicated:=208): 'nir_op_fdot5_replicated', (nir_op_fdot8:=209): 'nir_op_fdot8', (nir_op_fdot8_replicated:=210): 'nir_op_fdot8_replicated', (nir_op_fdph:=211): 'nir_op_fdph', (nir_op_fdph_replicated:=212): 'nir_op_fdph_replicated', (nir_op_feq:=213): 'nir_op_feq', (nir_op_feq16:=214): 'nir_op_feq16', (nir_op_feq32:=215): 'nir_op_feq32', (nir_op_feq8:=216): 'nir_op_feq8', (nir_op_fequ:=217): 'nir_op_fequ', (nir_op_fequ16:=218): 'nir_op_fequ16', (nir_op_fequ32:=219): 'nir_op_fequ32', (nir_op_fequ8:=220): 'nir_op_fequ8', (nir_op_fexp2:=221): 'nir_op_fexp2', (nir_op_ffloor:=222): 'nir_op_ffloor', (nir_op_ffma:=223): 'nir_op_ffma', (nir_op_ffmaz:=224): 'nir_op_ffmaz', (nir_op_ffract:=225): 'nir_op_ffract', (nir_op_fge:=226): 'nir_op_fge', (nir_op_fge16:=227): 'nir_op_fge16', (nir_op_fge32:=228): 'nir_op_fge32', (nir_op_fge8:=229): 'nir_op_fge8', (nir_op_fgeu:=230): 'nir_op_fgeu', (nir_op_fgeu16:=231): 'nir_op_fgeu16', (nir_op_fgeu32:=232): 'nir_op_fgeu32', (nir_op_fgeu8:=233): 'nir_op_fgeu8', (nir_op_find_lsb:=234): 'nir_op_find_lsb', (nir_op_fisfinite:=235): 'nir_op_fisfinite', (nir_op_fisfinite32:=236): 'nir_op_fisfinite32', (nir_op_fisnormal:=237): 'nir_op_fisnormal', (nir_op_flog2:=238): 'nir_op_flog2', (nir_op_flrp:=239): 'nir_op_flrp', (nir_op_flt:=240): 'nir_op_flt', (nir_op_flt16:=241): 'nir_op_flt16', (nir_op_flt32:=242): 'nir_op_flt32', (nir_op_flt8:=243): 'nir_op_flt8', (nir_op_fltu:=244): 'nir_op_fltu', (nir_op_fltu16:=245): 'nir_op_fltu16', (nir_op_fltu32:=246): 'nir_op_fltu32', (nir_op_fltu8:=247): 'nir_op_fltu8', (nir_op_fmax:=248): 'nir_op_fmax', (nir_op_fmax_agx:=249): 'nir_op_fmax_agx', (nir_op_fmin:=250): 'nir_op_fmin', (nir_op_fmin_agx:=251): 'nir_op_fmin_agx', (nir_op_fmod:=252): 'nir_op_fmod', (nir_op_fmul:=253): 'nir_op_fmul', (nir_op_fmulz:=254): 'nir_op_fmulz', (nir_op_fneg:=255): 'nir_op_fneg', (nir_op_fneo:=256): 'nir_op_fneo', (nir_op_fneo16:=257): 'nir_op_fneo16', (nir_op_fneo32:=258): 'nir_op_fneo32', (nir_op_fneo8:=259): 'nir_op_fneo8', (nir_op_fneu:=260): 'nir_op_fneu', (nir_op_fneu16:=261): 'nir_op_fneu16', (nir_op_fneu32:=262): 'nir_op_fneu32', (nir_op_fneu8:=263): 'nir_op_fneu8', (nir_op_ford:=264): 'nir_op_ford', (nir_op_ford16:=265): 'nir_op_ford16', (nir_op_ford32:=266): 'nir_op_ford32', (nir_op_ford8:=267): 'nir_op_ford8', (nir_op_fpow:=268): 'nir_op_fpow', (nir_op_fquantize2f16:=269): 'nir_op_fquantize2f16', (nir_op_frcp:=270): 'nir_op_frcp', (nir_op_frem:=271): 'nir_op_frem', (nir_op_frexp_exp:=272): 'nir_op_frexp_exp', (nir_op_frexp_sig:=273): 'nir_op_frexp_sig', (nir_op_fround_even:=274): 'nir_op_fround_even', (nir_op_frsq:=275): 'nir_op_frsq', (nir_op_fsat:=276): 'nir_op_fsat', (nir_op_fsat_signed:=277): 'nir_op_fsat_signed', (nir_op_fsign:=278): 'nir_op_fsign', (nir_op_fsin:=279): 'nir_op_fsin', (nir_op_fsin_agx:=280): 'nir_op_fsin_agx', (nir_op_fsin_amd:=281): 'nir_op_fsin_amd', (nir_op_fsin_mdg:=282): 'nir_op_fsin_mdg', (nir_op_fsqrt:=283): 'nir_op_fsqrt', (nir_op_fsub:=284): 'nir_op_fsub', (nir_op_fsum2:=285): 'nir_op_fsum2', (nir_op_fsum3:=286): 'nir_op_fsum3', (nir_op_fsum4:=287): 'nir_op_fsum4', (nir_op_ftrunc:=288): 'nir_op_ftrunc', (nir_op_funord:=289): 'nir_op_funord', (nir_op_funord16:=290): 'nir_op_funord16', (nir_op_funord32:=291): 'nir_op_funord32', (nir_op_funord8:=292): 'nir_op_funord8', (nir_op_i2f16:=293): 'nir_op_i2f16', (nir_op_i2f32:=294): 'nir_op_i2f32', (nir_op_i2f64:=295): 'nir_op_i2f64', (nir_op_i2fmp:=296): 'nir_op_i2fmp', (nir_op_i2i1:=297): 'nir_op_i2i1', (nir_op_i2i16:=298): 'nir_op_i2i16', (nir_op_i2i32:=299): 'nir_op_i2i32', (nir_op_i2i64:=300): 'nir_op_i2i64', (nir_op_i2i8:=301): 'nir_op_i2i8', (nir_op_i2imp:=302): 'nir_op_i2imp', (nir_op_i32csel_ge:=303): 'nir_op_i32csel_ge', (nir_op_i32csel_gt:=304): 'nir_op_i32csel_gt', (nir_op_iabs:=305): 'nir_op_iabs', (nir_op_iadd:=306): 'nir_op_iadd', (nir_op_iadd3:=307): 'nir_op_iadd3', (nir_op_iadd_sat:=308): 'nir_op_iadd_sat', (nir_op_iand:=309): 'nir_op_iand', (nir_op_ibfe:=310): 'nir_op_ibfe', (nir_op_ibitfield_extract:=311): 'nir_op_ibitfield_extract', (nir_op_icsel_eqz:=312): 'nir_op_icsel_eqz', (nir_op_idiv:=313): 'nir_op_idiv', (nir_op_ieq:=314): 'nir_op_ieq', (nir_op_ieq16:=315): 'nir_op_ieq16', (nir_op_ieq32:=316): 'nir_op_ieq32', (nir_op_ieq8:=317): 'nir_op_ieq8', (nir_op_ifind_msb:=318): 'nir_op_ifind_msb', (nir_op_ifind_msb_rev:=319): 'nir_op_ifind_msb_rev', (nir_op_ige:=320): 'nir_op_ige', (nir_op_ige16:=321): 'nir_op_ige16', (nir_op_ige32:=322): 'nir_op_ige32', (nir_op_ige8:=323): 'nir_op_ige8', (nir_op_ihadd:=324): 'nir_op_ihadd', (nir_op_ilea_agx:=325): 'nir_op_ilea_agx', (nir_op_ilt:=326): 'nir_op_ilt', (nir_op_ilt16:=327): 'nir_op_ilt16', (nir_op_ilt32:=328): 'nir_op_ilt32', (nir_op_ilt8:=329): 'nir_op_ilt8', (nir_op_imad:=330): 'nir_op_imad', (nir_op_imad24_ir3:=331): 'nir_op_imad24_ir3', (nir_op_imadsh_mix16:=332): 'nir_op_imadsh_mix16', (nir_op_imadshl_agx:=333): 'nir_op_imadshl_agx', (nir_op_imax:=334): 'nir_op_imax', (nir_op_imin:=335): 'nir_op_imin', (nir_op_imod:=336): 'nir_op_imod', (nir_op_imsubshl_agx:=337): 'nir_op_imsubshl_agx', (nir_op_imul:=338): 'nir_op_imul', (nir_op_imul24:=339): 'nir_op_imul24', (nir_op_imul24_relaxed:=340): 'nir_op_imul24_relaxed', (nir_op_imul_2x32_64:=341): 'nir_op_imul_2x32_64', (nir_op_imul_32x16:=342): 'nir_op_imul_32x16', (nir_op_imul_high:=343): 'nir_op_imul_high', (nir_op_ine:=344): 'nir_op_ine', (nir_op_ine16:=345): 'nir_op_ine16', (nir_op_ine32:=346): 'nir_op_ine32', (nir_op_ine8:=347): 'nir_op_ine8', (nir_op_ineg:=348): 'nir_op_ineg', (nir_op_inot:=349): 'nir_op_inot', (nir_op_insert_u16:=350): 'nir_op_insert_u16', (nir_op_insert_u8:=351): 'nir_op_insert_u8', (nir_op_interleave_agx:=352): 'nir_op_interleave_agx', (nir_op_ior:=353): 'nir_op_ior', (nir_op_irem:=354): 'nir_op_irem', (nir_op_irhadd:=355): 'nir_op_irhadd', (nir_op_ishl:=356): 'nir_op_ishl', (nir_op_ishr:=357): 'nir_op_ishr', (nir_op_isign:=358): 'nir_op_isign', (nir_op_isub:=359): 'nir_op_isub', (nir_op_isub_sat:=360): 'nir_op_isub_sat', (nir_op_ixor:=361): 'nir_op_ixor', (nir_op_ldexp:=362): 'nir_op_ldexp', (nir_op_ldexp16_pan:=363): 'nir_op_ldexp16_pan', (nir_op_lea_nv:=364): 'nir_op_lea_nv', (nir_op_mov:=365): 'nir_op_mov', (nir_op_mqsad_4x8:=366): 'nir_op_mqsad_4x8', (nir_op_msad_4x8:=367): 'nir_op_msad_4x8', (nir_op_pack_2x16_to_snorm_2x8_v3d:=368): 'nir_op_pack_2x16_to_snorm_2x8_v3d', (nir_op_pack_2x16_to_unorm_10_2_v3d:=369): 'nir_op_pack_2x16_to_unorm_10_2_v3d', (nir_op_pack_2x16_to_unorm_2x10_v3d:=370): 'nir_op_pack_2x16_to_unorm_2x10_v3d', (nir_op_pack_2x16_to_unorm_2x8_v3d:=371): 'nir_op_pack_2x16_to_unorm_2x8_v3d', (nir_op_pack_2x32_to_2x16_v3d:=372): 'nir_op_pack_2x32_to_2x16_v3d', (nir_op_pack_32_2x16:=373): 'nir_op_pack_32_2x16', (nir_op_pack_32_2x16_split:=374): 'nir_op_pack_32_2x16_split', (nir_op_pack_32_4x8:=375): 'nir_op_pack_32_4x8', (nir_op_pack_32_4x8_split:=376): 'nir_op_pack_32_4x8_split', (nir_op_pack_32_to_r11g11b10_v3d:=377): 'nir_op_pack_32_to_r11g11b10_v3d', (nir_op_pack_4x16_to_4x8_v3d:=378): 'nir_op_pack_4x16_to_4x8_v3d', (nir_op_pack_64_2x32:=379): 'nir_op_pack_64_2x32', (nir_op_pack_64_2x32_split:=380): 'nir_op_pack_64_2x32_split', (nir_op_pack_64_4x16:=381): 'nir_op_pack_64_4x16', (nir_op_pack_double_2x32_dxil:=382): 'nir_op_pack_double_2x32_dxil', (nir_op_pack_half_2x16:=383): 'nir_op_pack_half_2x16', (nir_op_pack_half_2x16_rtz_split:=384): 'nir_op_pack_half_2x16_rtz_split', (nir_op_pack_half_2x16_split:=385): 'nir_op_pack_half_2x16_split', (nir_op_pack_sint_2x16:=386): 'nir_op_pack_sint_2x16', (nir_op_pack_snorm_2x16:=387): 'nir_op_pack_snorm_2x16', (nir_op_pack_snorm_4x8:=388): 'nir_op_pack_snorm_4x8', (nir_op_pack_uint_2x16:=389): 'nir_op_pack_uint_2x16', (nir_op_pack_uint_32_to_r10g10b10a2_v3d:=390): 'nir_op_pack_uint_32_to_r10g10b10a2_v3d', (nir_op_pack_unorm_2x16:=391): 'nir_op_pack_unorm_2x16', (nir_op_pack_unorm_4x8:=392): 'nir_op_pack_unorm_4x8', (nir_op_pack_uvec2_to_uint:=393): 'nir_op_pack_uvec2_to_uint', (nir_op_pack_uvec4_to_uint:=394): 'nir_op_pack_uvec4_to_uint', (nir_op_prmt_nv:=395): 'nir_op_prmt_nv', (nir_op_sdot_2x16_iadd:=396): 'nir_op_sdot_2x16_iadd', (nir_op_sdot_2x16_iadd_sat:=397): 'nir_op_sdot_2x16_iadd_sat', (nir_op_sdot_4x8_iadd:=398): 'nir_op_sdot_4x8_iadd', (nir_op_sdot_4x8_iadd_sat:=399): 'nir_op_sdot_4x8_iadd_sat', (nir_op_seq:=400): 'nir_op_seq', (nir_op_sge:=401): 'nir_op_sge', (nir_op_shfr:=402): 'nir_op_shfr', (nir_op_shlg_ir3:=403): 'nir_op_shlg_ir3', (nir_op_shlm_ir3:=404): 'nir_op_shlm_ir3', (nir_op_shrg_ir3:=405): 'nir_op_shrg_ir3', (nir_op_shrm_ir3:=406): 'nir_op_shrm_ir3', (nir_op_slt:=407): 'nir_op_slt', (nir_op_sne:=408): 'nir_op_sne', (nir_op_sudot_4x8_iadd:=409): 'nir_op_sudot_4x8_iadd', (nir_op_sudot_4x8_iadd_sat:=410): 'nir_op_sudot_4x8_iadd_sat', (nir_op_u2f16:=411): 'nir_op_u2f16', (nir_op_u2f32:=412): 'nir_op_u2f32', (nir_op_u2f64:=413): 'nir_op_u2f64', (nir_op_u2fmp:=414): 'nir_op_u2fmp', (nir_op_u2u1:=415): 'nir_op_u2u1', (nir_op_u2u16:=416): 'nir_op_u2u16', (nir_op_u2u32:=417): 'nir_op_u2u32', (nir_op_u2u64:=418): 'nir_op_u2u64', (nir_op_u2u8:=419): 'nir_op_u2u8', (nir_op_uabs_isub:=420): 'nir_op_uabs_isub', (nir_op_uabs_usub:=421): 'nir_op_uabs_usub', (nir_op_uadd_carry:=422): 'nir_op_uadd_carry', (nir_op_uadd_sat:=423): 'nir_op_uadd_sat', (nir_op_ubfe:=424): 'nir_op_ubfe', (nir_op_ubitfield_extract:=425): 'nir_op_ubitfield_extract', (nir_op_uclz:=426): 'nir_op_uclz', (nir_op_udiv:=427): 'nir_op_udiv', (nir_op_udiv_aligned_4:=428): 'nir_op_udiv_aligned_4', (nir_op_udot_2x16_uadd:=429): 'nir_op_udot_2x16_uadd', (nir_op_udot_2x16_uadd_sat:=430): 'nir_op_udot_2x16_uadd_sat', (nir_op_udot_4x8_uadd:=431): 'nir_op_udot_4x8_uadd', (nir_op_udot_4x8_uadd_sat:=432): 'nir_op_udot_4x8_uadd_sat', (nir_op_ufind_msb:=433): 'nir_op_ufind_msb', (nir_op_ufind_msb_rev:=434): 'nir_op_ufind_msb_rev', (nir_op_uge:=435): 'nir_op_uge', (nir_op_uge16:=436): 'nir_op_uge16', (nir_op_uge32:=437): 'nir_op_uge32', (nir_op_uge8:=438): 'nir_op_uge8', (nir_op_uhadd:=439): 'nir_op_uhadd', (nir_op_ulea_agx:=440): 'nir_op_ulea_agx', (nir_op_ult:=441): 'nir_op_ult', (nir_op_ult16:=442): 'nir_op_ult16', (nir_op_ult32:=443): 'nir_op_ult32', (nir_op_ult8:=444): 'nir_op_ult8', (nir_op_umad24:=445): 'nir_op_umad24', (nir_op_umad24_relaxed:=446): 'nir_op_umad24_relaxed', (nir_op_umax:=447): 'nir_op_umax', (nir_op_umax_4x8_vc4:=448): 'nir_op_umax_4x8_vc4', (nir_op_umin:=449): 'nir_op_umin', (nir_op_umin_4x8_vc4:=450): 'nir_op_umin_4x8_vc4', (nir_op_umod:=451): 'nir_op_umod', (nir_op_umul24:=452): 'nir_op_umul24', (nir_op_umul24_relaxed:=453): 'nir_op_umul24_relaxed', (nir_op_umul_2x32_64:=454): 'nir_op_umul_2x32_64', (nir_op_umul_32x16:=455): 'nir_op_umul_32x16', (nir_op_umul_high:=456): 'nir_op_umul_high', (nir_op_umul_low:=457): 'nir_op_umul_low', (nir_op_umul_unorm_4x8_vc4:=458): 'nir_op_umul_unorm_4x8_vc4', (nir_op_unpack_32_2x16:=459): 'nir_op_unpack_32_2x16', (nir_op_unpack_32_2x16_split_x:=460): 'nir_op_unpack_32_2x16_split_x', (nir_op_unpack_32_2x16_split_y:=461): 'nir_op_unpack_32_2x16_split_y', (nir_op_unpack_32_4x8:=462): 'nir_op_unpack_32_4x8', (nir_op_unpack_64_2x32:=463): 'nir_op_unpack_64_2x32', (nir_op_unpack_64_2x32_split_x:=464): 'nir_op_unpack_64_2x32_split_x', (nir_op_unpack_64_2x32_split_y:=465): 'nir_op_unpack_64_2x32_split_y', (nir_op_unpack_64_4x16:=466): 'nir_op_unpack_64_4x16', (nir_op_unpack_double_2x32_dxil:=467): 'nir_op_unpack_double_2x32_dxil', (nir_op_unpack_half_2x16:=468): 'nir_op_unpack_half_2x16', (nir_op_unpack_half_2x16_split_x:=469): 'nir_op_unpack_half_2x16_split_x', (nir_op_unpack_half_2x16_split_y:=470): 'nir_op_unpack_half_2x16_split_y', (nir_op_unpack_snorm_2x16:=471): 'nir_op_unpack_snorm_2x16', (nir_op_unpack_snorm_4x8:=472): 'nir_op_unpack_snorm_4x8', (nir_op_unpack_unorm_2x16:=473): 'nir_op_unpack_unorm_2x16', (nir_op_unpack_unorm_4x8:=474): 'nir_op_unpack_unorm_4x8', (nir_op_urhadd:=475): 'nir_op_urhadd', (nir_op_urol:=476): 'nir_op_urol', (nir_op_uror:=477): 'nir_op_uror', (nir_op_usadd_4x8_vc4:=478): 'nir_op_usadd_4x8_vc4', (nir_op_ushr:=479): 'nir_op_ushr', (nir_op_ussub_4x8_vc4:=480): 'nir_op_ussub_4x8_vc4', (nir_op_usub_borrow:=481): 'nir_op_usub_borrow', (nir_op_usub_sat:=482): 'nir_op_usub_sat', (nir_op_vec16:=483): 'nir_op_vec16', (nir_op_vec2:=484): 'nir_op_vec2', (nir_op_vec3:=485): 'nir_op_vec3', (nir_op_vec4:=486): 'nir_op_vec4', (nir_op_vec5:=487): 'nir_op_vec5', (nir_op_vec8:=488): 'nir_op_vec8', (nir_last_opcode:=488): 'nir_last_opcode', (nir_num_opcodes:=489): 'nir_num_opcodes'}
@dll.bind(ctypes.c_uint32, ctypes.c_ubyte, ctypes.c_ubyte, ctypes.c_uint32)
def nir_type_conversion_op(src:ctypes.c_ubyte, dst:ctypes.c_ubyte, rnd:ctypes.c_uint32) -> ctypes.c_uint32: ...
nir_atomic_op: dict[int, str] = {(nir_atomic_op_iadd:=0): 'nir_atomic_op_iadd', (nir_atomic_op_imin:=1): 'nir_atomic_op_imin', (nir_atomic_op_umin:=2): 'nir_atomic_op_umin', (nir_atomic_op_imax:=3): 'nir_atomic_op_imax', (nir_atomic_op_umax:=4): 'nir_atomic_op_umax', (nir_atomic_op_iand:=5): 'nir_atomic_op_iand', (nir_atomic_op_ior:=6): 'nir_atomic_op_ior', (nir_atomic_op_ixor:=7): 'nir_atomic_op_ixor', (nir_atomic_op_xchg:=8): 'nir_atomic_op_xchg', (nir_atomic_op_fadd:=9): 'nir_atomic_op_fadd', (nir_atomic_op_fmin:=10): 'nir_atomic_op_fmin', (nir_atomic_op_fmax:=11): 'nir_atomic_op_fmax', (nir_atomic_op_cmpxchg:=12): 'nir_atomic_op_cmpxchg', (nir_atomic_op_fcmpxchg:=13): 'nir_atomic_op_fcmpxchg', (nir_atomic_op_inc_wrap:=14): 'nir_atomic_op_inc_wrap', (nir_atomic_op_dec_wrap:=15): 'nir_atomic_op_dec_wrap', (nir_atomic_op_ordered_add_gfx12_amd:=16): 'nir_atomic_op_ordered_add_gfx12_amd'}
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def nir_atomic_op_to_alu(op:ctypes.c_uint32) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def nir_op_vec(num_components:int) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_bool, ctypes.c_uint32)
def nir_op_is_vec(op:ctypes.c_uint32) -> bool: ...
nir_op_algebraic_property: dict[int, str] = {(NIR_OP_IS_2SRC_COMMUTATIVE:=1): 'NIR_OP_IS_2SRC_COMMUTATIVE', (NIR_OP_IS_ASSOCIATIVE:=2): 'NIR_OP_IS_ASSOCIATIVE', (NIR_OP_IS_SELECTION:=4): 'NIR_OP_IS_SELECTION'}
@c.record
class struct_nir_op_info(c.Struct):
  SIZE = 56
  name: c.POINTER[ctypes.c_char]
  num_inputs: int
  output_size: int
  output_type: int
  input_sizes: c.Array[ctypes.c_ubyte, Literal[16]]
  input_types: c.Array[ctypes.c_ubyte, Literal[16]]
  algebraic_properties: int
  is_conversion: bool
struct_nir_op_info.register_fields([('name', c.POINTER[ctypes.c_char], 0), ('num_inputs', uint8_t, 8), ('output_size', uint8_t, 9), ('output_type', ctypes.c_ubyte, 10), ('input_sizes', c.Array[uint8_t, Literal[16]], 11), ('input_types', c.Array[ctypes.c_ubyte, Literal[16]], 27), ('algebraic_properties', ctypes.c_uint32, 44), ('is_conversion', ctypes.c_bool, 48)])
nir_op_info: TypeAlias = struct_nir_op_info
try: nir_op_infos = c.Array[nir_op_info, Literal[489]].in_dll(dll, 'nir_op_infos') # type: ignore
except (ValueError,AttributeError): pass
@c.record
class struct_nir_alu_instr(c.Struct):
  SIZE = 72
  instr: struct_nir_instr
  op: int
  exact: bool
  no_signed_wrap: bool
  no_unsigned_wrap: bool
  fp_fast_math: int
  _def: struct_nir_def
  src: c.Array[struct_nir_alu_src, Literal[0]]
struct_nir_alu_instr.register_fields([('instr', nir_instr, 0), ('op', ctypes.c_uint32, 32), ('exact', ctypes.c_bool, 36, 1, 0), ('no_signed_wrap', ctypes.c_bool, 36, 1, 1), ('no_unsigned_wrap', ctypes.c_bool, 36, 1, 2), ('fp_fast_math', uint32_t, 36, 9, 3), ('_def', nir_def, 40), ('src', c.Array[nir_alu_src, Literal[0]], 72)])
nir_alu_instr: TypeAlias = struct_nir_alu_instr
@dll.bind(None, c.POINTER[nir_alu_src], c.POINTER[nir_alu_src])
def nir_alu_src_copy(dest:c.POINTER[nir_alu_src], src:c.POINTER[nir_alu_src]) -> None: ...
@dll.bind(nir_component_mask_t, c.POINTER[nir_alu_instr], ctypes.c_uint32)
def nir_alu_instr_src_read_mask(instr:c.POINTER[nir_alu_instr], src:int) -> nir_component_mask_t: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_alu_instr], ctypes.c_uint32)
def nir_ssa_alu_instr_src_components(instr:c.POINTER[nir_alu_instr], src:int) -> int: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_alu_instr])
def nir_alu_instr_is_comparison(instr:c.POINTER[nir_alu_instr]) -> bool: ...
@dll.bind(ctypes.c_bool, nir_const_value, nir_const_value, ctypes.c_ubyte)
def nir_const_value_negative_equal(c1:nir_const_value, c2:nir_const_value, full_type:ctypes.c_ubyte) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_alu_instr], c.POINTER[nir_alu_instr], ctypes.c_uint32, ctypes.c_uint32)
def nir_alu_srcs_equal(alu1:c.POINTER[nir_alu_instr], alu2:c.POINTER[nir_alu_instr], src1:int, src2:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_alu_instr], c.POINTER[nir_alu_instr], ctypes.c_uint32, ctypes.c_uint32, ctypes.c_ubyte)
def nir_alu_srcs_negative_equal_typed(alu1:c.POINTER[nir_alu_instr], alu2:c.POINTER[nir_alu_instr], src1:int, src2:int, base_type:ctypes.c_ubyte) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_alu_instr], c.POINTER[nir_alu_instr], ctypes.c_uint32, ctypes.c_uint32)
def nir_alu_srcs_negative_equal(alu1:c.POINTER[nir_alu_instr], alu2:c.POINTER[nir_alu_instr], src1:int, src2:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_alu_instr], ctypes.c_uint32)
def nir_alu_src_is_trivial_ssa(alu:c.POINTER[nir_alu_instr], srcn:int) -> bool: ...
nir_deref_type: dict[int, str] = {(nir_deref_type_var:=0): 'nir_deref_type_var', (nir_deref_type_array:=1): 'nir_deref_type_array', (nir_deref_type_array_wildcard:=2): 'nir_deref_type_array_wildcard', (nir_deref_type_ptr_as_array:=3): 'nir_deref_type_ptr_as_array', (nir_deref_type_struct:=4): 'nir_deref_type_struct', (nir_deref_type_cast:=5): 'nir_deref_type_cast'}
@c.record
class struct_nir_deref_instr(c.Struct):
  SIZE = 152
  instr: struct_nir_instr
  deref_type: int
  modes: int
  type: c.POINTER[struct_glsl_type]
  var: c.POINTER[struct_nir_variable]
  parent: struct_nir_src
  arr: struct_nir_deref_instr_arr
  strct: struct_nir_deref_instr_strct
  cast: struct_nir_deref_instr_cast
  _def: struct_nir_def
nir_variable_mode: dict[int, str] = {(nir_var_system_value:=1): 'nir_var_system_value', (nir_var_uniform:=2): 'nir_var_uniform', (nir_var_shader_in:=4): 'nir_var_shader_in', (nir_var_shader_out:=8): 'nir_var_shader_out', (nir_var_image:=16): 'nir_var_image', (nir_var_shader_call_data:=32): 'nir_var_shader_call_data', (nir_var_ray_hit_attrib:=64): 'nir_var_ray_hit_attrib', (nir_var_mem_ubo:=128): 'nir_var_mem_ubo', (nir_var_mem_push_const:=256): 'nir_var_mem_push_const', (nir_var_mem_ssbo:=512): 'nir_var_mem_ssbo', (nir_var_mem_constant:=1024): 'nir_var_mem_constant', (nir_var_mem_task_payload:=2048): 'nir_var_mem_task_payload', (nir_var_mem_node_payload:=4096): 'nir_var_mem_node_payload', (nir_var_mem_node_payload_in:=8192): 'nir_var_mem_node_payload_in', (nir_var_function_in:=16384): 'nir_var_function_in', (nir_var_function_out:=32768): 'nir_var_function_out', (nir_var_function_inout:=65536): 'nir_var_function_inout', (nir_var_shader_temp:=131072): 'nir_var_shader_temp', (nir_var_function_temp:=262144): 'nir_var_function_temp', (nir_var_mem_shared:=524288): 'nir_var_mem_shared', (nir_var_mem_global:=1048576): 'nir_var_mem_global', (nir_var_mem_generic:=1966080): 'nir_var_mem_generic', (nir_var_read_only_modes:=1159): 'nir_var_read_only_modes', (nir_var_vec_indexable_modes:=1969033): 'nir_var_vec_indexable_modes', (nir_num_variable_modes:=21): 'nir_num_variable_modes', (nir_var_all:=2097151): 'nir_var_all'}
@c.record
class struct_nir_deref_instr_arr(c.Struct):
  SIZE = 40
  index: struct_nir_src
  in_bounds: bool
struct_nir_deref_instr_arr.register_fields([('index', nir_src, 0), ('in_bounds', ctypes.c_bool, 32)])
@c.record
class struct_nir_deref_instr_strct(c.Struct):
  SIZE = 4
  index: int
struct_nir_deref_instr_strct.register_fields([('index', ctypes.c_uint32, 0)])
@c.record
class struct_nir_deref_instr_cast(c.Struct):
  SIZE = 12
  ptr_stride: int
  align_mul: int
  align_offset: int
struct_nir_deref_instr_cast.register_fields([('ptr_stride', ctypes.c_uint32, 0), ('align_mul', ctypes.c_uint32, 4), ('align_offset', ctypes.c_uint32, 8)])
struct_nir_deref_instr.register_fields([('instr', nir_instr, 0), ('deref_type', ctypes.c_uint32, 32), ('modes', ctypes.c_uint32, 36), ('type', c.POINTER[struct_glsl_type], 40), ('var', c.POINTER[nir_variable], 48), ('parent', nir_src, 48), ('arr', struct_nir_deref_instr_arr, 80), ('strct', struct_nir_deref_instr_strct, 80), ('cast', struct_nir_deref_instr_cast, 80), ('_def', nir_def, 120)])
nir_deref_instr: TypeAlias = struct_nir_deref_instr
@dll.bind(ctypes.c_bool, c.POINTER[nir_deref_instr])
def nir_deref_cast_is_trivial(cast:c.POINTER[nir_deref_instr]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_deref_instr])
def nir_deref_instr_has_indirect(instr:c.POINTER[nir_deref_instr]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_deref_instr])
def nir_deref_instr_is_known_out_of_bounds(instr:c.POINTER[nir_deref_instr]) -> bool: ...
nir_deref_instr_has_complex_use_options: dict[int, str] = {(nir_deref_instr_has_complex_use_allow_memcpy_src:=1): 'nir_deref_instr_has_complex_use_allow_memcpy_src', (nir_deref_instr_has_complex_use_allow_memcpy_dst:=2): 'nir_deref_instr_has_complex_use_allow_memcpy_dst', (nir_deref_instr_has_complex_use_allow_atomics:=4): 'nir_deref_instr_has_complex_use_allow_atomics'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_deref_instr], ctypes.c_uint32)
def nir_deref_instr_has_complex_use(instr:c.POINTER[nir_deref_instr], opts:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_deref_instr])
def nir_deref_instr_remove_if_unused(instr:c.POINTER[nir_deref_instr]) -> bool: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_deref_instr])
def nir_deref_instr_array_stride(instr:c.POINTER[nir_deref_instr]) -> int: ...
@c.record
class struct_nir_call_instr(c.Struct):
  SIZE = 80
  instr: struct_nir_instr
  callee: c.POINTER[struct_nir_function]
  indirect_callee: struct_nir_src
  num_params: int
  params: c.Array[struct_nir_src, Literal[0]]
@c.record
class struct_nir_function(c.Struct):
  SIZE = 104
  node: struct_exec_node
  name: c.POINTER[ctypes.c_char]
  shader: c.POINTER[struct_nir_shader]
  num_params: int
  params: c.POINTER[struct_nir_parameter]
  impl: c.POINTER[struct_nir_function_impl]
  driver_attributes: int
  is_entrypoint: bool
  is_exported: bool
  is_preamble: bool
  should_inline: bool
  dont_inline: bool
  workgroup_size: c.Array[ctypes.c_uint32, Literal[3]]
  is_subroutine: bool
  is_tmp_globals_wrapper: bool
  num_subroutine_types: int
  subroutine_types: c.POINTER[c.POINTER[struct_glsl_type]]
  subroutine_index: int
  pass_flags: int
nir_function: TypeAlias = struct_nir_function
@c.record
class struct_nir_shader(c.Struct):
  SIZE = 520
  gctx: c.POINTER[struct_gc_ctx]
  variables: struct_exec_list
  options: c.POINTER[struct_nir_shader_compiler_options]
  info: struct_shader_info
  functions: struct_exec_list
  num_inputs: int
  num_uniforms: int
  num_outputs: int
  global_mem_size: int
  scratch_size: int
  constant_data: ctypes.c_void_p
  constant_data_size: int
  xfb_info: c.POINTER[struct_nir_xfb_info]
  printf_info_count: int
  printf_info: c.POINTER[struct_u_printf_info]
  has_debug_info: bool
nir_shader: TypeAlias = struct_nir_shader
class struct_gc_ctx(c.Struct): pass
gc_ctx: TypeAlias = struct_gc_ctx
@c.record
class struct_nir_shader_compiler_options(c.Struct):
  SIZE = 248
  lower_fdiv: bool
  lower_ffma16: bool
  lower_ffma32: bool
  lower_ffma64: bool
  fuse_ffma16: bool
  fuse_ffma32: bool
  fuse_ffma64: bool
  lower_flrp16: bool
  lower_flrp32: bool
  lower_flrp64: bool
  lower_fpow: bool
  lower_fsat: bool
  lower_fsqrt: bool
  lower_sincos: bool
  lower_fmod: bool
  lower_bitfield_extract8: bool
  lower_bitfield_extract16: bool
  lower_bitfield_extract: bool
  lower_bitfield_insert: bool
  lower_bitfield_reverse: bool
  lower_bit_count: bool
  lower_ifind_msb: bool
  lower_ufind_msb: bool
  lower_find_lsb: bool
  lower_uadd_carry: bool
  lower_usub_borrow: bool
  lower_mul_high: bool
  lower_mul_high16: bool
  lower_fneg: bool
  lower_ineg: bool
  lower_fisnormal: bool
  lower_scmp: bool
  lower_vector_cmp: bool
  lower_bitops: bool
  lower_isign: bool
  lower_fsign: bool
  lower_iabs: bool
  lower_umax: bool
  lower_umin: bool
  lower_fminmax_signed_zero: bool
  lower_fdph: bool
  fdot_replicates: bool
  lower_ffloor: bool
  lower_ffract: bool
  lower_fceil: bool
  lower_ftrunc: bool
  lower_fround_even: bool
  lower_ldexp: bool
  lower_pack_half_2x16: bool
  lower_pack_unorm_2x16: bool
  lower_pack_snorm_2x16: bool
  lower_pack_unorm_4x8: bool
  lower_pack_snorm_4x8: bool
  lower_pack_64_2x32: bool
  lower_pack_64_4x16: bool
  lower_pack_32_2x16: bool
  lower_pack_64_2x32_split: bool
  lower_pack_32_2x16_split: bool
  lower_unpack_half_2x16: bool
  lower_unpack_unorm_2x16: bool
  lower_unpack_snorm_2x16: bool
  lower_unpack_unorm_4x8: bool
  lower_unpack_snorm_4x8: bool
  lower_unpack_64_2x32_split: bool
  lower_unpack_32_2x16_split: bool
  lower_pack_split: bool
  lower_extract_byte: bool
  lower_extract_word: bool
  lower_insert_byte: bool
  lower_insert_word: bool
  vertex_id_zero_based: bool
  lower_base_vertex: bool
  instance_id_includes_base_index: bool
  lower_helper_invocation: bool
  optimize_sample_mask_in: bool
  optimize_load_front_face_fsign: bool
  optimize_quad_vote_to_reduce: bool
  lower_cs_local_index_to_id: bool
  lower_cs_local_id_to_index: bool
  has_cs_global_id: bool
  lower_device_index_to_zero: bool
  lower_wpos_pntc: bool
  lower_hadd: bool
  lower_hadd64: bool
  lower_uadd_sat: bool
  lower_usub_sat: bool
  lower_iadd_sat: bool
  lower_mul_32x16: bool
  lower_bfloat16_conversions: bool
  vectorize_tess_levels: bool
  lower_to_scalar: bool
  lower_to_scalar_filter: c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
  vectorize_vec2_16bit: bool
  unify_interfaces: bool
  lower_interpolate_at: bool
  lower_mul_2x32_64: bool
  has_rotate8: bool
  has_rotate16: bool
  has_rotate32: bool
  has_shfr32: bool
  has_iadd3: bool
  has_amul: bool
  has_imul24: bool
  has_umul24: bool
  has_mul24_relaxed: bool
  has_imad32: bool
  has_umad24: bool
  has_fused_comp_and_csel: bool
  has_icsel_eqz64: bool
  has_icsel_eqz32: bool
  has_icsel_eqz16: bool
  has_fneo_fcmpu: bool
  has_ford_funord: bool
  has_fsub: bool
  has_isub: bool
  has_pack_32_4x8: bool
  has_texture_scaling: bool
  has_sdot_4x8: bool
  has_udot_4x8: bool
  has_sudot_4x8: bool
  has_sdot_4x8_sat: bool
  has_udot_4x8_sat: bool
  has_sudot_4x8_sat: bool
  has_dot_2x16: bool
  has_bfdot2_bfadd: bool
  has_fmulz: bool
  has_fmulz_no_denorms: bool
  has_find_msb_rev: bool
  has_pack_half_2x16_rtz: bool
  has_bit_test: bool
  has_bfe: bool
  has_bfm: bool
  has_bfi: bool
  has_bitfield_select: bool
  has_uclz: bool
  has_msad: bool
  has_f2e4m3fn_satfn: bool
  has_load_global_bounded: bool
  intel_vec4: bool
  avoid_ternary_with_two_constants: bool
  support_8bit_alu: bool
  support_16bit_alu: bool
  max_unroll_iterations: int
  max_unroll_iterations_aggressive: int
  max_unroll_iterations_fp64: int
  lower_uniforms_to_ubo: bool
  force_indirect_unrolling_sampler: bool
  no_integers: bool
  force_indirect_unrolling: int
  driver_functions: bool
  late_lower_int64: bool
  lower_int64_options: int
  lower_doubles_options: int
  divergence_analysis_options: int
  support_indirect_inputs: int
  support_indirect_outputs: int
  lower_image_offset_to_range_base: bool
  lower_atomic_offset_to_range_base: bool
  preserve_mediump: bool
  lower_fquantize2f16: bool
  force_f2f16_rtz: bool
  lower_layer_fs_input_to_sysval: bool
  compact_arrays: bool
  discard_is_demote: bool
  has_ddx_intrinsics: bool
  scalarize_ddx: bool
  per_view_unique_driver_locations: bool
  compact_view_index: bool
  io_options: int
  skip_lower_packing_ops: int
  lower_mediump_io: c.CFUNCTYPE[None, [c.POINTER[struct_nir_shader]]]
  varying_expression_max_cost: c.CFUNCTYPE[ctypes.c_uint32, [c.POINTER[struct_nir_shader], c.POINTER[struct_nir_shader]]]
  varying_estimate_instr_cost: c.CFUNCTYPE[ctypes.c_uint32, [c.POINTER[struct_nir_instr]]]
  max_varying_expression_cost: int
nir_shader_compiler_options: TypeAlias = struct_nir_shader_compiler_options
nir_instr_filter_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
nir_lower_int64_options: dict[int, str] = {(nir_lower_imul64:=1): 'nir_lower_imul64', (nir_lower_isign64:=2): 'nir_lower_isign64', (nir_lower_divmod64:=4): 'nir_lower_divmod64', (nir_lower_imul_high64:=8): 'nir_lower_imul_high64', (nir_lower_bcsel64:=16): 'nir_lower_bcsel64', (nir_lower_icmp64:=32): 'nir_lower_icmp64', (nir_lower_iadd64:=64): 'nir_lower_iadd64', (nir_lower_iabs64:=128): 'nir_lower_iabs64', (nir_lower_ineg64:=256): 'nir_lower_ineg64', (nir_lower_logic64:=512): 'nir_lower_logic64', (nir_lower_minmax64:=1024): 'nir_lower_minmax64', (nir_lower_shift64:=2048): 'nir_lower_shift64', (nir_lower_imul_2x32_64:=4096): 'nir_lower_imul_2x32_64', (nir_lower_extract64:=8192): 'nir_lower_extract64', (nir_lower_ufind_msb64:=16384): 'nir_lower_ufind_msb64', (nir_lower_bit_count64:=32768): 'nir_lower_bit_count64', (nir_lower_subgroup_shuffle64:=65536): 'nir_lower_subgroup_shuffle64', (nir_lower_scan_reduce_bitwise64:=131072): 'nir_lower_scan_reduce_bitwise64', (nir_lower_scan_reduce_iadd64:=262144): 'nir_lower_scan_reduce_iadd64', (nir_lower_vote_ieq64:=524288): 'nir_lower_vote_ieq64', (nir_lower_usub_sat64:=1048576): 'nir_lower_usub_sat64', (nir_lower_iadd_sat64:=2097152): 'nir_lower_iadd_sat64', (nir_lower_find_lsb64:=4194304): 'nir_lower_find_lsb64', (nir_lower_conv64:=8388608): 'nir_lower_conv64', (nir_lower_uadd_sat64:=16777216): 'nir_lower_uadd_sat64', (nir_lower_iadd3_64:=33554432): 'nir_lower_iadd3_64', (nir_lower_bitfield_reverse64:=67108864): 'nir_lower_bitfield_reverse64', (nir_lower_bitfield_extract64:=134217728): 'nir_lower_bitfield_extract64'}
nir_lower_doubles_options: dict[int, str] = {(nir_lower_drcp:=1): 'nir_lower_drcp', (nir_lower_dsqrt:=2): 'nir_lower_dsqrt', (nir_lower_drsq:=4): 'nir_lower_drsq', (nir_lower_dtrunc:=8): 'nir_lower_dtrunc', (nir_lower_dfloor:=16): 'nir_lower_dfloor', (nir_lower_dceil:=32): 'nir_lower_dceil', (nir_lower_dfract:=64): 'nir_lower_dfract', (nir_lower_dround_even:=128): 'nir_lower_dround_even', (nir_lower_dmod:=256): 'nir_lower_dmod', (nir_lower_dsub:=512): 'nir_lower_dsub', (nir_lower_ddiv:=1024): 'nir_lower_ddiv', (nir_lower_dsign:=2048): 'nir_lower_dsign', (nir_lower_dminmax:=4096): 'nir_lower_dminmax', (nir_lower_dsat:=8192): 'nir_lower_dsat', (nir_lower_fp64_full_software:=16384): 'nir_lower_fp64_full_software'}
nir_divergence_options: dict[int, str] = {(nir_divergence_single_prim_per_subgroup:=1): 'nir_divergence_single_prim_per_subgroup', (nir_divergence_single_patch_per_tcs_subgroup:=2): 'nir_divergence_single_patch_per_tcs_subgroup', (nir_divergence_single_patch_per_tes_subgroup:=4): 'nir_divergence_single_patch_per_tes_subgroup', (nir_divergence_view_index_uniform:=8): 'nir_divergence_view_index_uniform', (nir_divergence_single_frag_shading_rate_per_subgroup:=16): 'nir_divergence_single_frag_shading_rate_per_subgroup', (nir_divergence_multiple_workgroup_per_compute_subgroup:=32): 'nir_divergence_multiple_workgroup_per_compute_subgroup', (nir_divergence_shader_record_ptr_uniform:=64): 'nir_divergence_shader_record_ptr_uniform', (nir_divergence_uniform_load_tears:=128): 'nir_divergence_uniform_load_tears', (nir_divergence_ignore_undef_if_phi_srcs:=256): 'nir_divergence_ignore_undef_if_phi_srcs'}
nir_io_options: dict[int, str] = {(nir_io_has_flexible_input_interpolation_except_flat:=1): 'nir_io_has_flexible_input_interpolation_except_flat', (nir_io_dont_use_pos_for_non_fs_varyings:=2): 'nir_io_dont_use_pos_for_non_fs_varyings', (nir_io_16bit_input_output_support:=4): 'nir_io_16bit_input_output_support', (nir_io_mediump_is_32bit:=8): 'nir_io_mediump_is_32bit', (nir_io_prefer_scalar_fs_inputs:=16): 'nir_io_prefer_scalar_fs_inputs', (nir_io_mix_convergent_flat_with_interpolated:=32): 'nir_io_mix_convergent_flat_with_interpolated', (nir_io_vectorizer_ignores_types:=64): 'nir_io_vectorizer_ignores_types', (nir_io_always_interpolate_convergent_fs_inputs:=128): 'nir_io_always_interpolate_convergent_fs_inputs', (nir_io_compaction_rotates_color_channels:=256): 'nir_io_compaction_rotates_color_channels', (nir_io_compaction_groups_tes_inputs_into_pos_and_var_groups:=512): 'nir_io_compaction_groups_tes_inputs_into_pos_and_var_groups', (nir_io_radv_intrinsic_component_workaround:=1024): 'nir_io_radv_intrinsic_component_workaround', (nir_io_has_intrinsics:=65536): 'nir_io_has_intrinsics', (nir_io_separate_clip_cull_distance_arrays:=131072): 'nir_io_separate_clip_cull_distance_arrays'}
struct_nir_shader_compiler_options.register_fields([('lower_fdiv', ctypes.c_bool, 0), ('lower_ffma16', ctypes.c_bool, 1), ('lower_ffma32', ctypes.c_bool, 2), ('lower_ffma64', ctypes.c_bool, 3), ('fuse_ffma16', ctypes.c_bool, 4), ('fuse_ffma32', ctypes.c_bool, 5), ('fuse_ffma64', ctypes.c_bool, 6), ('lower_flrp16', ctypes.c_bool, 7), ('lower_flrp32', ctypes.c_bool, 8), ('lower_flrp64', ctypes.c_bool, 9), ('lower_fpow', ctypes.c_bool, 10), ('lower_fsat', ctypes.c_bool, 11), ('lower_fsqrt', ctypes.c_bool, 12), ('lower_sincos', ctypes.c_bool, 13), ('lower_fmod', ctypes.c_bool, 14), ('lower_bitfield_extract8', ctypes.c_bool, 15), ('lower_bitfield_extract16', ctypes.c_bool, 16), ('lower_bitfield_extract', ctypes.c_bool, 17), ('lower_bitfield_insert', ctypes.c_bool, 18), ('lower_bitfield_reverse', ctypes.c_bool, 19), ('lower_bit_count', ctypes.c_bool, 20), ('lower_ifind_msb', ctypes.c_bool, 21), ('lower_ufind_msb', ctypes.c_bool, 22), ('lower_find_lsb', ctypes.c_bool, 23), ('lower_uadd_carry', ctypes.c_bool, 24), ('lower_usub_borrow', ctypes.c_bool, 25), ('lower_mul_high', ctypes.c_bool, 26), ('lower_mul_high16', ctypes.c_bool, 27), ('lower_fneg', ctypes.c_bool, 28), ('lower_ineg', ctypes.c_bool, 29), ('lower_fisnormal', ctypes.c_bool, 30), ('lower_scmp', ctypes.c_bool, 31), ('lower_vector_cmp', ctypes.c_bool, 32), ('lower_bitops', ctypes.c_bool, 33), ('lower_isign', ctypes.c_bool, 34), ('lower_fsign', ctypes.c_bool, 35), ('lower_iabs', ctypes.c_bool, 36), ('lower_umax', ctypes.c_bool, 37), ('lower_umin', ctypes.c_bool, 38), ('lower_fminmax_signed_zero', ctypes.c_bool, 39), ('lower_fdph', ctypes.c_bool, 40), ('fdot_replicates', ctypes.c_bool, 41), ('lower_ffloor', ctypes.c_bool, 42), ('lower_ffract', ctypes.c_bool, 43), ('lower_fceil', ctypes.c_bool, 44), ('lower_ftrunc', ctypes.c_bool, 45), ('lower_fround_even', ctypes.c_bool, 46), ('lower_ldexp', ctypes.c_bool, 47), ('lower_pack_half_2x16', ctypes.c_bool, 48), ('lower_pack_unorm_2x16', ctypes.c_bool, 49), ('lower_pack_snorm_2x16', ctypes.c_bool, 50), ('lower_pack_unorm_4x8', ctypes.c_bool, 51), ('lower_pack_snorm_4x8', ctypes.c_bool, 52), ('lower_pack_64_2x32', ctypes.c_bool, 53), ('lower_pack_64_4x16', ctypes.c_bool, 54), ('lower_pack_32_2x16', ctypes.c_bool, 55), ('lower_pack_64_2x32_split', ctypes.c_bool, 56), ('lower_pack_32_2x16_split', ctypes.c_bool, 57), ('lower_unpack_half_2x16', ctypes.c_bool, 58), ('lower_unpack_unorm_2x16', ctypes.c_bool, 59), ('lower_unpack_snorm_2x16', ctypes.c_bool, 60), ('lower_unpack_unorm_4x8', ctypes.c_bool, 61), ('lower_unpack_snorm_4x8', ctypes.c_bool, 62), ('lower_unpack_64_2x32_split', ctypes.c_bool, 63), ('lower_unpack_32_2x16_split', ctypes.c_bool, 64), ('lower_pack_split', ctypes.c_bool, 65), ('lower_extract_byte', ctypes.c_bool, 66), ('lower_extract_word', ctypes.c_bool, 67), ('lower_insert_byte', ctypes.c_bool, 68), ('lower_insert_word', ctypes.c_bool, 69), ('vertex_id_zero_based', ctypes.c_bool, 70), ('lower_base_vertex', ctypes.c_bool, 71), ('instance_id_includes_base_index', ctypes.c_bool, 72), ('lower_helper_invocation', ctypes.c_bool, 73), ('optimize_sample_mask_in', ctypes.c_bool, 74), ('optimize_load_front_face_fsign', ctypes.c_bool, 75), ('optimize_quad_vote_to_reduce', ctypes.c_bool, 76), ('lower_cs_local_index_to_id', ctypes.c_bool, 77), ('lower_cs_local_id_to_index', ctypes.c_bool, 78), ('has_cs_global_id', ctypes.c_bool, 79), ('lower_device_index_to_zero', ctypes.c_bool, 80), ('lower_wpos_pntc', ctypes.c_bool, 81), ('lower_hadd', ctypes.c_bool, 82), ('lower_hadd64', ctypes.c_bool, 83), ('lower_uadd_sat', ctypes.c_bool, 84), ('lower_usub_sat', ctypes.c_bool, 85), ('lower_iadd_sat', ctypes.c_bool, 86), ('lower_mul_32x16', ctypes.c_bool, 87), ('lower_bfloat16_conversions', ctypes.c_bool, 88), ('vectorize_tess_levels', ctypes.c_bool, 89), ('lower_to_scalar', ctypes.c_bool, 90), ('lower_to_scalar_filter', nir_instr_filter_cb, 96), ('vectorize_vec2_16bit', ctypes.c_bool, 104), ('unify_interfaces', ctypes.c_bool, 105), ('lower_interpolate_at', ctypes.c_bool, 106), ('lower_mul_2x32_64', ctypes.c_bool, 107), ('has_rotate8', ctypes.c_bool, 108), ('has_rotate16', ctypes.c_bool, 109), ('has_rotate32', ctypes.c_bool, 110), ('has_shfr32', ctypes.c_bool, 111), ('has_iadd3', ctypes.c_bool, 112), ('has_amul', ctypes.c_bool, 113), ('has_imul24', ctypes.c_bool, 114), ('has_umul24', ctypes.c_bool, 115), ('has_mul24_relaxed', ctypes.c_bool, 116), ('has_imad32', ctypes.c_bool, 117), ('has_umad24', ctypes.c_bool, 118), ('has_fused_comp_and_csel', ctypes.c_bool, 119), ('has_icsel_eqz64', ctypes.c_bool, 120), ('has_icsel_eqz32', ctypes.c_bool, 121), ('has_icsel_eqz16', ctypes.c_bool, 122), ('has_fneo_fcmpu', ctypes.c_bool, 123), ('has_ford_funord', ctypes.c_bool, 124), ('has_fsub', ctypes.c_bool, 125), ('has_isub', ctypes.c_bool, 126), ('has_pack_32_4x8', ctypes.c_bool, 127), ('has_texture_scaling', ctypes.c_bool, 128), ('has_sdot_4x8', ctypes.c_bool, 129), ('has_udot_4x8', ctypes.c_bool, 130), ('has_sudot_4x8', ctypes.c_bool, 131), ('has_sdot_4x8_sat', ctypes.c_bool, 132), ('has_udot_4x8_sat', ctypes.c_bool, 133), ('has_sudot_4x8_sat', ctypes.c_bool, 134), ('has_dot_2x16', ctypes.c_bool, 135), ('has_bfdot2_bfadd', ctypes.c_bool, 136), ('has_fmulz', ctypes.c_bool, 137), ('has_fmulz_no_denorms', ctypes.c_bool, 138), ('has_find_msb_rev', ctypes.c_bool, 139), ('has_pack_half_2x16_rtz', ctypes.c_bool, 140), ('has_bit_test', ctypes.c_bool, 141), ('has_bfe', ctypes.c_bool, 142), ('has_bfm', ctypes.c_bool, 143), ('has_bfi', ctypes.c_bool, 144), ('has_bitfield_select', ctypes.c_bool, 145), ('has_uclz', ctypes.c_bool, 146), ('has_msad', ctypes.c_bool, 147), ('has_f2e4m3fn_satfn', ctypes.c_bool, 148), ('has_load_global_bounded', ctypes.c_bool, 149), ('intel_vec4', ctypes.c_bool, 150), ('avoid_ternary_with_two_constants', ctypes.c_bool, 151), ('support_8bit_alu', ctypes.c_bool, 152), ('support_16bit_alu', ctypes.c_bool, 153), ('max_unroll_iterations', ctypes.c_uint32, 156), ('max_unroll_iterations_aggressive', ctypes.c_uint32, 160), ('max_unroll_iterations_fp64', ctypes.c_uint32, 164), ('lower_uniforms_to_ubo', ctypes.c_bool, 168), ('force_indirect_unrolling_sampler', ctypes.c_bool, 169), ('no_integers', ctypes.c_bool, 170), ('force_indirect_unrolling', ctypes.c_uint32, 172), ('driver_functions', ctypes.c_bool, 176), ('late_lower_int64', ctypes.c_bool, 177), ('lower_int64_options', ctypes.c_uint32, 180), ('lower_doubles_options', ctypes.c_uint32, 184), ('divergence_analysis_options', ctypes.c_uint32, 188), ('support_indirect_inputs', uint8_t, 192), ('support_indirect_outputs', uint8_t, 193), ('lower_image_offset_to_range_base', ctypes.c_bool, 194), ('lower_atomic_offset_to_range_base', ctypes.c_bool, 195), ('preserve_mediump', ctypes.c_bool, 196), ('lower_fquantize2f16', ctypes.c_bool, 197), ('force_f2f16_rtz', ctypes.c_bool, 198), ('lower_layer_fs_input_to_sysval', ctypes.c_bool, 199), ('compact_arrays', ctypes.c_bool, 200), ('discard_is_demote', ctypes.c_bool, 201), ('has_ddx_intrinsics', ctypes.c_bool, 202), ('scalarize_ddx', ctypes.c_bool, 203), ('per_view_unique_driver_locations', ctypes.c_bool, 204), ('compact_view_index', ctypes.c_bool, 205), ('io_options', ctypes.c_uint32, 208), ('skip_lower_packing_ops', ctypes.c_uint32, 212), ('lower_mediump_io', c.CFUNCTYPE[None, [c.POINTER[struct_nir_shader]]], 216), ('varying_expression_max_cost', c.CFUNCTYPE[ctypes.c_uint32, [c.POINTER[struct_nir_shader], c.POINTER[struct_nir_shader]]], 224), ('varying_estimate_instr_cost', c.CFUNCTYPE[ctypes.c_uint32, [c.POINTER[struct_nir_instr]]], 232), ('max_varying_expression_cost', ctypes.c_uint32, 240)])
@c.record
class struct_shader_info(c.Struct):
  SIZE = 368
  name: c.POINTER[ctypes.c_char]
  label: c.POINTER[ctypes.c_char]
  internal: bool
  source_blake3: c.Array[ctypes.c_ubyte, Literal[32]]
  stage: int
  prev_stage: int
  next_stage: int
  prev_stage_has_xfb: bool
  num_textures: int
  num_ubos: int
  num_abos: int
  num_ssbos: int
  num_images: int
  inputs_read: int
  dual_slot_inputs: int
  outputs_written: int
  outputs_read: int
  system_values_read: c.Array[ctypes.c_uint32, Literal[4]]
  per_primitive_inputs: int
  per_primitive_outputs: int
  per_view_outputs: int
  view_mask: int
  inputs_read_16bit: int
  outputs_written_16bit: int
  outputs_read_16bit: int
  inputs_read_indirectly_16bit: int
  outputs_read_indirectly_16bit: int
  outputs_written_indirectly_16bit: int
  patch_inputs_read: int
  patch_outputs_written: int
  patch_outputs_read: int
  inputs_read_indirectly: int
  outputs_read_indirectly: int
  outputs_written_indirectly: int
  patch_inputs_read_indirectly: int
  patch_outputs_read_indirectly: int
  patch_outputs_written_indirectly: int
  textures_used: c.Array[ctypes.c_uint32, Literal[4]]
  textures_used_by_txf: c.Array[ctypes.c_uint32, Literal[4]]
  samplers_used: c.Array[ctypes.c_uint32, Literal[1]]
  images_used: c.Array[ctypes.c_uint32, Literal[2]]
  image_buffers: c.Array[ctypes.c_uint32, Literal[2]]
  msaa_images: c.Array[ctypes.c_uint32, Literal[2]]
  float_controls_execution_mode: int
  shared_size: int
  task_payload_size: int
  ray_queries: int
  workgroup_size: c.Array[ctypes.c_uint16, Literal[3]]
  subgroup_size: int
  num_subgroups: int
  uses_wide_subgroup_intrinsics: bool
  xfb_stride: c.Array[ctypes.c_ubyte, Literal[4]]
  inlinable_uniform_dw_offsets: c.Array[ctypes.c_uint16, Literal[4]]
  num_inlinable_uniforms: int
  clip_distance_array_size: int
  cull_distance_array_size: int
  uses_texture_gather: bool
  uses_resource_info_query: bool
  bit_sizes_float: int
  bit_sizes_int: int
  first_ubo_is_default_ubo: bool
  separate_shader: bool
  has_transform_feedback_varyings: bool
  flrp_lowered: bool
  io_lowered: bool
  var_copies_lowered: bool
  writes_memory: bool
  layer_viewport_relative: bool
  uses_control_barrier: bool
  uses_memory_barrier: bool
  uses_bindless: bool
  shared_memory_explicit_layout: bool
  zero_initialize_shared_memory: bool
  workgroup_size_variable: bool
  uses_printf: bool
  maximally_reconverges: bool
  use_aco_amd: bool
  use_lowered_image_to_global: bool
  use_legacy_math_rules: bool
  derivative_group: int
  vs: struct_shader_info_vs
  gs: struct_shader_info_gs
  fs: struct_shader_info_fs
  cs: struct_shader_info_cs
  tess: struct_shader_info_tess
  mesh: struct_shader_info_mesh
blake3_hash: TypeAlias = c.Array[ctypes.c_ubyte, Literal[32]]
enum_pipe_shader_type: dict[int, str] = {(MESA_SHADER_NONE:=-1): 'MESA_SHADER_NONE', (MESA_SHADER_VERTEX:=0): 'MESA_SHADER_VERTEX', (PIPE_SHADER_VERTEX:=0): 'PIPE_SHADER_VERTEX', (MESA_SHADER_TESS_CTRL:=1): 'MESA_SHADER_TESS_CTRL', (PIPE_SHADER_TESS_CTRL:=1): 'PIPE_SHADER_TESS_CTRL', (MESA_SHADER_TESS_EVAL:=2): 'MESA_SHADER_TESS_EVAL', (PIPE_SHADER_TESS_EVAL:=2): 'PIPE_SHADER_TESS_EVAL', (MESA_SHADER_GEOMETRY:=3): 'MESA_SHADER_GEOMETRY', (PIPE_SHADER_GEOMETRY:=3): 'PIPE_SHADER_GEOMETRY', (MESA_SHADER_FRAGMENT:=4): 'MESA_SHADER_FRAGMENT', (PIPE_SHADER_FRAGMENT:=4): 'PIPE_SHADER_FRAGMENT', (MESA_SHADER_COMPUTE:=5): 'MESA_SHADER_COMPUTE', (PIPE_SHADER_COMPUTE:=5): 'PIPE_SHADER_COMPUTE', (PIPE_SHADER_TYPES:=6): 'PIPE_SHADER_TYPES', (MESA_SHADER_TASK:=6): 'MESA_SHADER_TASK', (PIPE_SHADER_TASK:=6): 'PIPE_SHADER_TASK', (MESA_SHADER_MESH:=7): 'MESA_SHADER_MESH', (PIPE_SHADER_MESH:=7): 'PIPE_SHADER_MESH', (PIPE_SHADER_MESH_TYPES:=8): 'PIPE_SHADER_MESH_TYPES', (MESA_SHADER_RAYGEN:=8): 'MESA_SHADER_RAYGEN', (MESA_SHADER_ANY_HIT:=9): 'MESA_SHADER_ANY_HIT', (MESA_SHADER_CLOSEST_HIT:=10): 'MESA_SHADER_CLOSEST_HIT', (MESA_SHADER_MISS:=11): 'MESA_SHADER_MISS', (MESA_SHADER_INTERSECTION:=12): 'MESA_SHADER_INTERSECTION', (MESA_SHADER_CALLABLE:=13): 'MESA_SHADER_CALLABLE', (MESA_SHADER_KERNEL:=14): 'MESA_SHADER_KERNEL'}
gl_shader_stage: TypeAlias = ctypes.c_int32
enum_gl_subgroup_size: dict[int, str] = {(SUBGROUP_SIZE_VARYING:=0): 'SUBGROUP_SIZE_VARYING', (SUBGROUP_SIZE_UNIFORM:=1): 'SUBGROUP_SIZE_UNIFORM', (SUBGROUP_SIZE_API_CONSTANT:=2): 'SUBGROUP_SIZE_API_CONSTANT', (SUBGROUP_SIZE_FULL_SUBGROUPS:=3): 'SUBGROUP_SIZE_FULL_SUBGROUPS', (SUBGROUP_SIZE_REQUIRE_4:=4): 'SUBGROUP_SIZE_REQUIRE_4', (SUBGROUP_SIZE_REQUIRE_8:=8): 'SUBGROUP_SIZE_REQUIRE_8', (SUBGROUP_SIZE_REQUIRE_16:=16): 'SUBGROUP_SIZE_REQUIRE_16', (SUBGROUP_SIZE_REQUIRE_32:=32): 'SUBGROUP_SIZE_REQUIRE_32', (SUBGROUP_SIZE_REQUIRE_64:=64): 'SUBGROUP_SIZE_REQUIRE_64', (SUBGROUP_SIZE_REQUIRE_128:=128): 'SUBGROUP_SIZE_REQUIRE_128'}
enum_gl_derivative_group: dict[int, str] = {(DERIVATIVE_GROUP_NONE:=0): 'DERIVATIVE_GROUP_NONE', (DERIVATIVE_GROUP_QUADS:=1): 'DERIVATIVE_GROUP_QUADS', (DERIVATIVE_GROUP_LINEAR:=2): 'DERIVATIVE_GROUP_LINEAR'}
@c.record
class struct_shader_info_vs(c.Struct):
  SIZE = 16
  double_inputs: int
  blit_sgprs_amd: int
  tes_agx: bool
  window_space_position: bool
  needs_edge_flag: bool
struct_shader_info_vs.register_fields([('double_inputs', uint64_t, 0), ('blit_sgprs_amd', uint8_t, 8, 4, 0), ('tes_agx', ctypes.c_bool, 8, 1, 4), ('window_space_position', ctypes.c_bool, 8, 1, 5), ('needs_edge_flag', ctypes.c_bool, 8, 1, 6)])
@c.record
class struct_shader_info_gs(c.Struct):
  SIZE = 6
  output_primitive: int
  input_primitive: int
  vertices_out: int
  invocations: int
  vertices_in: int
  uses_end_primitive: bool
  active_stream_mask: int
enum_mesa_prim: dict[int, str] = {(MESA_PRIM_POINTS:=0): 'MESA_PRIM_POINTS', (MESA_PRIM_LINES:=1): 'MESA_PRIM_LINES', (MESA_PRIM_LINE_LOOP:=2): 'MESA_PRIM_LINE_LOOP', (MESA_PRIM_LINE_STRIP:=3): 'MESA_PRIM_LINE_STRIP', (MESA_PRIM_TRIANGLES:=4): 'MESA_PRIM_TRIANGLES', (MESA_PRIM_TRIANGLE_STRIP:=5): 'MESA_PRIM_TRIANGLE_STRIP', (MESA_PRIM_TRIANGLE_FAN:=6): 'MESA_PRIM_TRIANGLE_FAN', (MESA_PRIM_QUADS:=7): 'MESA_PRIM_QUADS', (MESA_PRIM_QUAD_STRIP:=8): 'MESA_PRIM_QUAD_STRIP', (MESA_PRIM_POLYGON:=9): 'MESA_PRIM_POLYGON', (MESA_PRIM_LINES_ADJACENCY:=10): 'MESA_PRIM_LINES_ADJACENCY', (MESA_PRIM_LINE_STRIP_ADJACENCY:=11): 'MESA_PRIM_LINE_STRIP_ADJACENCY', (MESA_PRIM_TRIANGLES_ADJACENCY:=12): 'MESA_PRIM_TRIANGLES_ADJACENCY', (MESA_PRIM_TRIANGLE_STRIP_ADJACENCY:=13): 'MESA_PRIM_TRIANGLE_STRIP_ADJACENCY', (MESA_PRIM_PATCHES:=14): 'MESA_PRIM_PATCHES', (MESA_PRIM_MAX:=14): 'MESA_PRIM_MAX', (MESA_PRIM_COUNT:=15): 'MESA_PRIM_COUNT', (MESA_PRIM_UNKNOWN:=28): 'MESA_PRIM_UNKNOWN'}
struct_shader_info_gs.register_fields([('output_primitive', ctypes.c_ubyte, 0), ('input_primitive', ctypes.c_ubyte, 1), ('vertices_out', uint16_t, 2), ('invocations', uint8_t, 4), ('vertices_in', uint8_t, 5, 3, 0), ('uses_end_primitive', ctypes.c_bool, 5, 1, 3), ('active_stream_mask', uint8_t, 5, 4, 4)])
@c.record
class struct_shader_info_fs(c.Struct):
  SIZE = 16
  uses_discard: bool
  uses_fbfetch_output: bool
  fbfetch_coherent: bool
  color_is_dual_source: bool
  require_full_quads: bool
  quad_derivatives: bool
  needs_coarse_quad_helper_invocations: bool
  needs_full_quad_helper_invocations: bool
  uses_sample_qualifier: bool
  uses_sample_shading: bool
  early_fragment_tests: bool
  inner_coverage: bool
  post_depth_coverage: bool
  pixel_center_integer: bool
  origin_upper_left: bool
  pixel_interlock_ordered: bool
  pixel_interlock_unordered: bool
  sample_interlock_ordered: bool
  sample_interlock_unordered: bool
  untyped_color_outputs: bool
  depth_layout: int
  color0_interp: int
  color0_sample: bool
  color0_centroid: bool
  color1_interp: int
  color1_sample: bool
  color1_centroid: bool
  advanced_blend_modes: int
  early_and_late_fragment_tests: bool
  stencil_front_layout: int
  stencil_back_layout: int
enum_gl_frag_depth_layout: dict[int, str] = {(FRAG_DEPTH_LAYOUT_NONE:=0): 'FRAG_DEPTH_LAYOUT_NONE', (FRAG_DEPTH_LAYOUT_ANY:=1): 'FRAG_DEPTH_LAYOUT_ANY', (FRAG_DEPTH_LAYOUT_GREATER:=2): 'FRAG_DEPTH_LAYOUT_GREATER', (FRAG_DEPTH_LAYOUT_LESS:=3): 'FRAG_DEPTH_LAYOUT_LESS', (FRAG_DEPTH_LAYOUT_UNCHANGED:=4): 'FRAG_DEPTH_LAYOUT_UNCHANGED'}
enum_gl_frag_stencil_layout: dict[int, str] = {(FRAG_STENCIL_LAYOUT_NONE:=0): 'FRAG_STENCIL_LAYOUT_NONE', (FRAG_STENCIL_LAYOUT_ANY:=1): 'FRAG_STENCIL_LAYOUT_ANY', (FRAG_STENCIL_LAYOUT_GREATER:=2): 'FRAG_STENCIL_LAYOUT_GREATER', (FRAG_STENCIL_LAYOUT_LESS:=3): 'FRAG_STENCIL_LAYOUT_LESS', (FRAG_STENCIL_LAYOUT_UNCHANGED:=4): 'FRAG_STENCIL_LAYOUT_UNCHANGED'}
struct_shader_info_fs.register_fields([('uses_discard', ctypes.c_bool, 0, 1, 0), ('uses_fbfetch_output', ctypes.c_bool, 0, 1, 1), ('fbfetch_coherent', ctypes.c_bool, 0, 1, 2), ('color_is_dual_source', ctypes.c_bool, 0, 1, 3), ('require_full_quads', ctypes.c_bool, 0, 1, 4), ('quad_derivatives', ctypes.c_bool, 0, 1, 5), ('needs_coarse_quad_helper_invocations', ctypes.c_bool, 0, 1, 6), ('needs_full_quad_helper_invocations', ctypes.c_bool, 0, 1, 7), ('uses_sample_qualifier', ctypes.c_bool, 1, 1, 0), ('uses_sample_shading', ctypes.c_bool, 1, 1, 1), ('early_fragment_tests', ctypes.c_bool, 1, 1, 2), ('inner_coverage', ctypes.c_bool, 1, 1, 3), ('post_depth_coverage', ctypes.c_bool, 1, 1, 4), ('pixel_center_integer', ctypes.c_bool, 1, 1, 5), ('origin_upper_left', ctypes.c_bool, 1, 1, 6), ('pixel_interlock_ordered', ctypes.c_bool, 1, 1, 7), ('pixel_interlock_unordered', ctypes.c_bool, 2, 1, 0), ('sample_interlock_ordered', ctypes.c_bool, 2, 1, 1), ('sample_interlock_unordered', ctypes.c_bool, 2, 1, 2), ('untyped_color_outputs', ctypes.c_bool, 2, 1, 3), ('depth_layout', ctypes.c_uint32, 2, 3, 4), ('color0_interp', ctypes.c_uint32, 2, 3, 7), ('color0_sample', ctypes.c_bool, 3, 1, 2), ('color0_centroid', ctypes.c_bool, 3, 1, 3), ('color1_interp', ctypes.c_uint32, 3, 3, 4), ('color1_sample', ctypes.c_bool, 3, 1, 7), ('color1_centroid', ctypes.c_bool, 4, 1, 0), ('advanced_blend_modes', ctypes.c_uint32, 8), ('early_and_late_fragment_tests', ctypes.c_bool, 12, 1, 0), ('stencil_front_layout', ctypes.c_uint32, 12, 3, 1), ('stencil_back_layout', ctypes.c_uint32, 12, 3, 4)])
@c.record
class struct_shader_info_cs(c.Struct):
  SIZE = 32
  workgroup_size_hint: c.Array[ctypes.c_uint16, Literal[3]]
  user_data_components_amd: int
  has_variable_shared_mem: bool
  has_cooperative_matrix: bool
  image_block_size_per_thread_agx: int
  ptr_size: int
  shader_index: int
  node_payloads_size: int
  workgroup_count: c.Array[ctypes.c_uint32, Literal[3]]
struct_shader_info_cs.register_fields([('workgroup_size_hint', c.Array[uint16_t, Literal[3]], 0), ('user_data_components_amd', uint8_t, 6, 4, 0), ('has_variable_shared_mem', ctypes.c_bool, 6, 1, 4), ('has_cooperative_matrix', ctypes.c_bool, 6, 1, 5), ('image_block_size_per_thread_agx', uint8_t, 7), ('ptr_size', ctypes.c_uint32, 8), ('shader_index', uint32_t, 12), ('node_payloads_size', uint32_t, 16), ('workgroup_count', c.Array[uint32_t, Literal[3]], 20)])
@c.record
class struct_shader_info_tess(c.Struct):
  SIZE = 56
  _primitive_mode: int
  tcs_vertices_out: int
  spacing: int
  ccw: bool
  point_mode: bool
  tcs_same_invocation_inputs_read: int
  tcs_cross_invocation_inputs_read: int
  tcs_cross_invocation_outputs_read: int
  tcs_cross_invocation_outputs_written: int
  tcs_outputs_read_by_tes: int
  tcs_patch_outputs_read_by_tes: int
  tcs_outputs_read_by_tes_16bit: int
enum_tess_primitive_mode: dict[int, str] = {(TESS_PRIMITIVE_UNSPECIFIED:=0): 'TESS_PRIMITIVE_UNSPECIFIED', (TESS_PRIMITIVE_TRIANGLES:=1): 'TESS_PRIMITIVE_TRIANGLES', (TESS_PRIMITIVE_QUADS:=2): 'TESS_PRIMITIVE_QUADS', (TESS_PRIMITIVE_ISOLINES:=3): 'TESS_PRIMITIVE_ISOLINES'}
struct_shader_info_tess.register_fields([('_primitive_mode', ctypes.c_uint32, 0), ('tcs_vertices_out', uint8_t, 4), ('spacing', ctypes.c_uint32, 5, 2, 0), ('ccw', ctypes.c_bool, 5, 1, 2), ('point_mode', ctypes.c_bool, 5, 1, 3), ('tcs_same_invocation_inputs_read', uint64_t, 8), ('tcs_cross_invocation_inputs_read', uint64_t, 16), ('tcs_cross_invocation_outputs_read', uint64_t, 24), ('tcs_cross_invocation_outputs_written', uint64_t, 32), ('tcs_outputs_read_by_tes', uint64_t, 40), ('tcs_patch_outputs_read_by_tes', uint32_t, 48), ('tcs_outputs_read_by_tes_16bit', uint16_t, 52)])
@c.record
class struct_shader_info_mesh(c.Struct):
  SIZE = 32
  ms_cross_invocation_output_access: int
  ts_mesh_dispatch_dimensions: c.Array[ctypes.c_uint32, Literal[3]]
  max_vertices_out: int
  max_primitives_out: int
  primitive_type: int
  nv: bool
struct_shader_info_mesh.register_fields([('ms_cross_invocation_output_access', uint64_t, 0), ('ts_mesh_dispatch_dimensions', c.Array[uint32_t, Literal[3]], 8), ('max_vertices_out', uint16_t, 20), ('max_primitives_out', uint16_t, 22), ('primitive_type', ctypes.c_ubyte, 24), ('nv', ctypes.c_bool, 25)])
struct_shader_info.register_fields([('name', c.POINTER[ctypes.c_char], 0), ('label', c.POINTER[ctypes.c_char], 8), ('internal', ctypes.c_bool, 16), ('source_blake3', blake3_hash, 17), ('stage', gl_shader_stage, 49, 8, 0), ('prev_stage', gl_shader_stage, 50, 8, 0), ('next_stage', gl_shader_stage, 51, 8, 0), ('prev_stage_has_xfb', ctypes.c_bool, 52), ('num_textures', uint8_t, 53), ('num_ubos', uint8_t, 54), ('num_abos', uint8_t, 55), ('num_ssbos', uint8_t, 56), ('num_images', uint8_t, 57), ('inputs_read', uint64_t, 64), ('dual_slot_inputs', uint64_t, 72), ('outputs_written', uint64_t, 80), ('outputs_read', uint64_t, 88), ('system_values_read', c.Array[ctypes.c_uint32, Literal[4]], 96), ('per_primitive_inputs', uint64_t, 112), ('per_primitive_outputs', uint64_t, 120), ('per_view_outputs', uint64_t, 128), ('view_mask', uint32_t, 136), ('inputs_read_16bit', uint16_t, 140), ('outputs_written_16bit', uint16_t, 142), ('outputs_read_16bit', uint16_t, 144), ('inputs_read_indirectly_16bit', uint16_t, 146), ('outputs_read_indirectly_16bit', uint16_t, 148), ('outputs_written_indirectly_16bit', uint16_t, 150), ('patch_inputs_read', uint32_t, 152), ('patch_outputs_written', uint32_t, 156), ('patch_outputs_read', uint32_t, 160), ('inputs_read_indirectly', uint64_t, 168), ('outputs_read_indirectly', uint64_t, 176), ('outputs_written_indirectly', uint64_t, 184), ('patch_inputs_read_indirectly', uint32_t, 192), ('patch_outputs_read_indirectly', uint32_t, 196), ('patch_outputs_written_indirectly', uint32_t, 200), ('textures_used', c.Array[ctypes.c_uint32, Literal[4]], 204), ('textures_used_by_txf', c.Array[ctypes.c_uint32, Literal[4]], 220), ('samplers_used', c.Array[ctypes.c_uint32, Literal[1]], 236), ('images_used', c.Array[ctypes.c_uint32, Literal[2]], 240), ('image_buffers', c.Array[ctypes.c_uint32, Literal[2]], 248), ('msaa_images', c.Array[ctypes.c_uint32, Literal[2]], 256), ('float_controls_execution_mode', uint32_t, 264), ('shared_size', ctypes.c_uint32, 268), ('task_payload_size', ctypes.c_uint32, 272), ('ray_queries', ctypes.c_uint32, 276), ('workgroup_size', c.Array[uint16_t, Literal[3]], 280), ('subgroup_size', ctypes.c_ubyte, 286), ('num_subgroups', uint8_t, 287), ('uses_wide_subgroup_intrinsics', ctypes.c_bool, 288), ('xfb_stride', c.Array[uint8_t, Literal[4]], 289), ('inlinable_uniform_dw_offsets', c.Array[uint16_t, Literal[4]], 294), ('num_inlinable_uniforms', uint8_t, 302, 4, 0), ('clip_distance_array_size', uint8_t, 302, 4, 4), ('cull_distance_array_size', uint8_t, 303, 4, 0), ('uses_texture_gather', ctypes.c_bool, 303, 1, 4), ('uses_resource_info_query', ctypes.c_bool, 303, 1, 5), ('bit_sizes_float', uint8_t, 304), ('bit_sizes_int', uint8_t, 305), ('first_ubo_is_default_ubo', ctypes.c_bool, 306, 1, 0), ('separate_shader', ctypes.c_bool, 306, 1, 1), ('has_transform_feedback_varyings', ctypes.c_bool, 306, 1, 2), ('flrp_lowered', ctypes.c_bool, 306, 1, 3), ('io_lowered', ctypes.c_bool, 306, 1, 4), ('var_copies_lowered', ctypes.c_bool, 306, 1, 5), ('writes_memory', ctypes.c_bool, 306, 1, 6), ('layer_viewport_relative', ctypes.c_bool, 306, 1, 7), ('uses_control_barrier', ctypes.c_bool, 307, 1, 0), ('uses_memory_barrier', ctypes.c_bool, 307, 1, 1), ('uses_bindless', ctypes.c_bool, 307, 1, 2), ('shared_memory_explicit_layout', ctypes.c_bool, 307, 1, 3), ('zero_initialize_shared_memory', ctypes.c_bool, 307, 1, 4), ('workgroup_size_variable', ctypes.c_bool, 307, 1, 5), ('uses_printf', ctypes.c_bool, 307, 1, 6), ('maximally_reconverges', ctypes.c_bool, 307, 1, 7), ('use_aco_amd', ctypes.c_bool, 308, 1, 0), ('use_lowered_image_to_global', ctypes.c_bool, 308, 1, 1), ('use_legacy_math_rules', ctypes.c_bool, 309), ('derivative_group', ctypes.c_uint32, 310, 2, 0), ('vs', struct_shader_info_vs, 312), ('gs', struct_shader_info_gs, 312), ('fs', struct_shader_info_fs, 312), ('cs', struct_shader_info_cs, 312), ('tess', struct_shader_info_tess, 312), ('mesh', struct_shader_info_mesh, 312)])
class struct_nir_xfb_info(c.Struct): pass
nir_xfb_info: TypeAlias = struct_nir_xfb_info
struct_nir_shader.register_fields([('gctx', c.POINTER[gc_ctx], 0), ('variables', struct_exec_list, 8), ('options', c.POINTER[nir_shader_compiler_options], 40), ('info', struct_shader_info, 48), ('functions', struct_exec_list, 416), ('num_inputs', ctypes.c_uint32, 448), ('num_uniforms', ctypes.c_uint32, 452), ('num_outputs', ctypes.c_uint32, 456), ('global_mem_size', ctypes.c_uint32, 460), ('scratch_size', ctypes.c_uint32, 464), ('constant_data', ctypes.c_void_p, 472), ('constant_data_size', ctypes.c_uint32, 480), ('xfb_info', c.POINTER[nir_xfb_info], 488), ('printf_info_count', ctypes.c_uint32, 496), ('printf_info', c.POINTER[u_printf_info], 504), ('has_debug_info', ctypes.c_bool, 512)])
@c.record
class struct_nir_parameter(c.Struct):
  SIZE = 32
  num_components: int
  bit_size: int
  is_return: bool
  implicit_conversion_prohibited: bool
  is_uniform: bool
  mode: int
  driver_attributes: int
  type: c.POINTER[struct_glsl_type]
  name: c.POINTER[ctypes.c_char]
nir_parameter: TypeAlias = struct_nir_parameter
struct_nir_parameter.register_fields([('num_components', uint8_t, 0), ('bit_size', uint8_t, 1), ('is_return', ctypes.c_bool, 2), ('implicit_conversion_prohibited', ctypes.c_bool, 3), ('is_uniform', ctypes.c_bool, 4), ('mode', ctypes.c_uint32, 8), ('driver_attributes', uint32_t, 12), ('type', c.POINTER[struct_glsl_type], 16), ('name', c.POINTER[ctypes.c_char], 24)])
@c.record
class struct_nir_function_impl(c.Struct):
  SIZE = 144
  cf_node: struct_nir_cf_node
  function: c.POINTER[struct_nir_function]
  preamble: c.POINTER[struct_nir_function]
  body: struct_exec_list
  end_block: c.POINTER[struct_nir_block]
  locals: struct_exec_list
  ssa_alloc: int
  num_blocks: int
  structured: bool
  valid_metadata: int
  loop_analysis_indirect_mask: int
  loop_analysis_force_unroll_sampler_indirect: bool
nir_function_impl: TypeAlias = struct_nir_function_impl
nir_metadata: dict[int, str] = {(nir_metadata_none:=0): 'nir_metadata_none', (nir_metadata_block_index:=1): 'nir_metadata_block_index', (nir_metadata_dominance:=2): 'nir_metadata_dominance', (nir_metadata_live_defs:=4): 'nir_metadata_live_defs', (nir_metadata_not_properly_reset:=8): 'nir_metadata_not_properly_reset', (nir_metadata_loop_analysis:=16): 'nir_metadata_loop_analysis', (nir_metadata_instr_index:=32): 'nir_metadata_instr_index', (nir_metadata_divergence:=64): 'nir_metadata_divergence', (nir_metadata_control_flow:=3): 'nir_metadata_control_flow', (nir_metadata_all:=-9): 'nir_metadata_all'}
struct_nir_function_impl.register_fields([('cf_node', nir_cf_node, 0), ('function', c.POINTER[nir_function], 32), ('preamble', c.POINTER[nir_function], 40), ('body', struct_exec_list, 48), ('end_block', c.POINTER[nir_block], 80), ('locals', struct_exec_list, 88), ('ssa_alloc', ctypes.c_uint32, 120), ('num_blocks', ctypes.c_uint32, 124), ('structured', ctypes.c_bool, 128), ('valid_metadata', ctypes.c_int32, 132), ('loop_analysis_indirect_mask', ctypes.c_uint32, 136), ('loop_analysis_force_unroll_sampler_indirect', ctypes.c_bool, 140)])
struct_nir_function.register_fields([('node', struct_exec_node, 0), ('name', c.POINTER[ctypes.c_char], 16), ('shader', c.POINTER[nir_shader], 24), ('num_params', ctypes.c_uint32, 32), ('params', c.POINTER[nir_parameter], 40), ('impl', c.POINTER[nir_function_impl], 48), ('driver_attributes', uint32_t, 56), ('is_entrypoint', ctypes.c_bool, 60), ('is_exported', ctypes.c_bool, 61), ('is_preamble', ctypes.c_bool, 62), ('should_inline', ctypes.c_bool, 63), ('dont_inline', ctypes.c_bool, 64), ('workgroup_size', c.Array[ctypes.c_uint32, Literal[3]], 68), ('is_subroutine', ctypes.c_bool, 80), ('is_tmp_globals_wrapper', ctypes.c_bool, 81), ('num_subroutine_types', ctypes.c_int32, 84), ('subroutine_types', c.POINTER[c.POINTER[struct_glsl_type]], 88), ('subroutine_index', ctypes.c_int32, 96), ('pass_flags', uint32_t, 100)])
struct_nir_call_instr.register_fields([('instr', nir_instr, 0), ('callee', c.POINTER[nir_function], 32), ('indirect_callee', nir_src, 40), ('num_params', ctypes.c_uint32, 72), ('params', c.Array[nir_src, Literal[0]], 80)])
nir_call_instr: TypeAlias = struct_nir_call_instr
@c.record
class struct_nir_intrinsic_instr(c.Struct):
  SIZE = 120
  instr: struct_nir_instr
  intrinsic: int
  _def: struct_nir_def
  num_components: int
  const_index: c.Array[ctypes.c_int32, Literal[8]]
  name: c.POINTER[ctypes.c_char]
  src: c.Array[struct_nir_src, Literal[0]]
nir_intrinsic_op: dict[int, str] = {(nir_intrinsic_accept_ray_intersection:=0): 'nir_intrinsic_accept_ray_intersection', (nir_intrinsic_addr_mode_is:=1): 'nir_intrinsic_addr_mode_is', (nir_intrinsic_al2p_nv:=2): 'nir_intrinsic_al2p_nv', (nir_intrinsic_ald_nv:=3): 'nir_intrinsic_ald_nv', (nir_intrinsic_alpha_to_coverage:=4): 'nir_intrinsic_alpha_to_coverage', (nir_intrinsic_as_uniform:=5): 'nir_intrinsic_as_uniform', (nir_intrinsic_ast_nv:=6): 'nir_intrinsic_ast_nv', (nir_intrinsic_atomic_add_gen_prim_count_amd:=7): 'nir_intrinsic_atomic_add_gen_prim_count_amd', (nir_intrinsic_atomic_add_gs_emit_prim_count_amd:=8): 'nir_intrinsic_atomic_add_gs_emit_prim_count_amd', (nir_intrinsic_atomic_add_shader_invocation_count_amd:=9): 'nir_intrinsic_atomic_add_shader_invocation_count_amd', (nir_intrinsic_atomic_add_xfb_prim_count_amd:=10): 'nir_intrinsic_atomic_add_xfb_prim_count_amd', (nir_intrinsic_atomic_counter_add:=11): 'nir_intrinsic_atomic_counter_add', (nir_intrinsic_atomic_counter_add_deref:=12): 'nir_intrinsic_atomic_counter_add_deref', (nir_intrinsic_atomic_counter_and:=13): 'nir_intrinsic_atomic_counter_and', (nir_intrinsic_atomic_counter_and_deref:=14): 'nir_intrinsic_atomic_counter_and_deref', (nir_intrinsic_atomic_counter_comp_swap:=15): 'nir_intrinsic_atomic_counter_comp_swap', (nir_intrinsic_atomic_counter_comp_swap_deref:=16): 'nir_intrinsic_atomic_counter_comp_swap_deref', (nir_intrinsic_atomic_counter_exchange:=17): 'nir_intrinsic_atomic_counter_exchange', (nir_intrinsic_atomic_counter_exchange_deref:=18): 'nir_intrinsic_atomic_counter_exchange_deref', (nir_intrinsic_atomic_counter_inc:=19): 'nir_intrinsic_atomic_counter_inc', (nir_intrinsic_atomic_counter_inc_deref:=20): 'nir_intrinsic_atomic_counter_inc_deref', (nir_intrinsic_atomic_counter_max:=21): 'nir_intrinsic_atomic_counter_max', (nir_intrinsic_atomic_counter_max_deref:=22): 'nir_intrinsic_atomic_counter_max_deref', (nir_intrinsic_atomic_counter_min:=23): 'nir_intrinsic_atomic_counter_min', (nir_intrinsic_atomic_counter_min_deref:=24): 'nir_intrinsic_atomic_counter_min_deref', (nir_intrinsic_atomic_counter_or:=25): 'nir_intrinsic_atomic_counter_or', (nir_intrinsic_atomic_counter_or_deref:=26): 'nir_intrinsic_atomic_counter_or_deref', (nir_intrinsic_atomic_counter_post_dec:=27): 'nir_intrinsic_atomic_counter_post_dec', (nir_intrinsic_atomic_counter_post_dec_deref:=28): 'nir_intrinsic_atomic_counter_post_dec_deref', (nir_intrinsic_atomic_counter_pre_dec:=29): 'nir_intrinsic_atomic_counter_pre_dec', (nir_intrinsic_atomic_counter_pre_dec_deref:=30): 'nir_intrinsic_atomic_counter_pre_dec_deref', (nir_intrinsic_atomic_counter_read:=31): 'nir_intrinsic_atomic_counter_read', (nir_intrinsic_atomic_counter_read_deref:=32): 'nir_intrinsic_atomic_counter_read_deref', (nir_intrinsic_atomic_counter_xor:=33): 'nir_intrinsic_atomic_counter_xor', (nir_intrinsic_atomic_counter_xor_deref:=34): 'nir_intrinsic_atomic_counter_xor_deref', (nir_intrinsic_ballot:=35): 'nir_intrinsic_ballot', (nir_intrinsic_ballot_bit_count_exclusive:=36): 'nir_intrinsic_ballot_bit_count_exclusive', (nir_intrinsic_ballot_bit_count_inclusive:=37): 'nir_intrinsic_ballot_bit_count_inclusive', (nir_intrinsic_ballot_bit_count_reduce:=38): 'nir_intrinsic_ballot_bit_count_reduce', (nir_intrinsic_ballot_bitfield_extract:=39): 'nir_intrinsic_ballot_bitfield_extract', (nir_intrinsic_ballot_find_lsb:=40): 'nir_intrinsic_ballot_find_lsb', (nir_intrinsic_ballot_find_msb:=41): 'nir_intrinsic_ballot_find_msb', (nir_intrinsic_ballot_relaxed:=42): 'nir_intrinsic_ballot_relaxed', (nir_intrinsic_bar_break_nv:=43): 'nir_intrinsic_bar_break_nv', (nir_intrinsic_bar_set_nv:=44): 'nir_intrinsic_bar_set_nv', (nir_intrinsic_bar_sync_nv:=45): 'nir_intrinsic_bar_sync_nv', (nir_intrinsic_barrier:=46): 'nir_intrinsic_barrier', (nir_intrinsic_begin_invocation_interlock:=47): 'nir_intrinsic_begin_invocation_interlock', (nir_intrinsic_bindgen_return:=48): 'nir_intrinsic_bindgen_return', (nir_intrinsic_bindless_image_agx:=49): 'nir_intrinsic_bindless_image_agx', (nir_intrinsic_bindless_image_atomic:=50): 'nir_intrinsic_bindless_image_atomic', (nir_intrinsic_bindless_image_atomic_swap:=51): 'nir_intrinsic_bindless_image_atomic_swap', (nir_intrinsic_bindless_image_descriptor_amd:=52): 'nir_intrinsic_bindless_image_descriptor_amd', (nir_intrinsic_bindless_image_format:=53): 'nir_intrinsic_bindless_image_format', (nir_intrinsic_bindless_image_fragment_mask_load_amd:=54): 'nir_intrinsic_bindless_image_fragment_mask_load_amd', (nir_intrinsic_bindless_image_levels:=55): 'nir_intrinsic_bindless_image_levels', (nir_intrinsic_bindless_image_load:=56): 'nir_intrinsic_bindless_image_load', (nir_intrinsic_bindless_image_load_raw_intel:=57): 'nir_intrinsic_bindless_image_load_raw_intel', (nir_intrinsic_bindless_image_order:=58): 'nir_intrinsic_bindless_image_order', (nir_intrinsic_bindless_image_samples:=59): 'nir_intrinsic_bindless_image_samples', (nir_intrinsic_bindless_image_samples_identical:=60): 'nir_intrinsic_bindless_image_samples_identical', (nir_intrinsic_bindless_image_size:=61): 'nir_intrinsic_bindless_image_size', (nir_intrinsic_bindless_image_sparse_load:=62): 'nir_intrinsic_bindless_image_sparse_load', (nir_intrinsic_bindless_image_store:=63): 'nir_intrinsic_bindless_image_store', (nir_intrinsic_bindless_image_store_block_agx:=64): 'nir_intrinsic_bindless_image_store_block_agx', (nir_intrinsic_bindless_image_store_raw_intel:=65): 'nir_intrinsic_bindless_image_store_raw_intel', (nir_intrinsic_bindless_image_texel_address:=66): 'nir_intrinsic_bindless_image_texel_address', (nir_intrinsic_bindless_resource_ir3:=67): 'nir_intrinsic_bindless_resource_ir3', (nir_intrinsic_brcst_active_ir3:=68): 'nir_intrinsic_brcst_active_ir3', (nir_intrinsic_btd_retire_intel:=69): 'nir_intrinsic_btd_retire_intel', (nir_intrinsic_btd_spawn_intel:=70): 'nir_intrinsic_btd_spawn_intel', (nir_intrinsic_btd_stack_push_intel:=71): 'nir_intrinsic_btd_stack_push_intel', (nir_intrinsic_bvh64_intersect_ray_amd:=72): 'nir_intrinsic_bvh64_intersect_ray_amd', (nir_intrinsic_bvh8_intersect_ray_amd:=73): 'nir_intrinsic_bvh8_intersect_ray_amd', (nir_intrinsic_bvh_stack_rtn_amd:=74): 'nir_intrinsic_bvh_stack_rtn_amd', (nir_intrinsic_cmat_binary_op:=75): 'nir_intrinsic_cmat_binary_op', (nir_intrinsic_cmat_bitcast:=76): 'nir_intrinsic_cmat_bitcast', (nir_intrinsic_cmat_construct:=77): 'nir_intrinsic_cmat_construct', (nir_intrinsic_cmat_convert:=78): 'nir_intrinsic_cmat_convert', (nir_intrinsic_cmat_copy:=79): 'nir_intrinsic_cmat_copy', (nir_intrinsic_cmat_extract:=80): 'nir_intrinsic_cmat_extract', (nir_intrinsic_cmat_insert:=81): 'nir_intrinsic_cmat_insert', (nir_intrinsic_cmat_length:=82): 'nir_intrinsic_cmat_length', (nir_intrinsic_cmat_load:=83): 'nir_intrinsic_cmat_load', (nir_intrinsic_cmat_muladd:=84): 'nir_intrinsic_cmat_muladd', (nir_intrinsic_cmat_muladd_amd:=85): 'nir_intrinsic_cmat_muladd_amd', (nir_intrinsic_cmat_muladd_nv:=86): 'nir_intrinsic_cmat_muladd_nv', (nir_intrinsic_cmat_scalar_op:=87): 'nir_intrinsic_cmat_scalar_op', (nir_intrinsic_cmat_store:=88): 'nir_intrinsic_cmat_store', (nir_intrinsic_cmat_transpose:=89): 'nir_intrinsic_cmat_transpose', (nir_intrinsic_cmat_unary_op:=90): 'nir_intrinsic_cmat_unary_op', (nir_intrinsic_convert_alu_types:=91): 'nir_intrinsic_convert_alu_types', (nir_intrinsic_convert_cmat_intel:=92): 'nir_intrinsic_convert_cmat_intel', (nir_intrinsic_copy_deref:=93): 'nir_intrinsic_copy_deref', (nir_intrinsic_copy_fs_outputs_nv:=94): 'nir_intrinsic_copy_fs_outputs_nv', (nir_intrinsic_copy_global_to_uniform_ir3:=95): 'nir_intrinsic_copy_global_to_uniform_ir3', (nir_intrinsic_copy_push_const_to_uniform_ir3:=96): 'nir_intrinsic_copy_push_const_to_uniform_ir3', (nir_intrinsic_copy_ubo_to_uniform_ir3:=97): 'nir_intrinsic_copy_ubo_to_uniform_ir3', (nir_intrinsic_ddx:=98): 'nir_intrinsic_ddx', (nir_intrinsic_ddx_coarse:=99): 'nir_intrinsic_ddx_coarse', (nir_intrinsic_ddx_fine:=100): 'nir_intrinsic_ddx_fine', (nir_intrinsic_ddy:=101): 'nir_intrinsic_ddy', (nir_intrinsic_ddy_coarse:=102): 'nir_intrinsic_ddy_coarse', (nir_intrinsic_ddy_fine:=103): 'nir_intrinsic_ddy_fine', (nir_intrinsic_debug_break:=104): 'nir_intrinsic_debug_break', (nir_intrinsic_decl_reg:=105): 'nir_intrinsic_decl_reg', (nir_intrinsic_demote:=106): 'nir_intrinsic_demote', (nir_intrinsic_demote_if:=107): 'nir_intrinsic_demote_if', (nir_intrinsic_demote_samples:=108): 'nir_intrinsic_demote_samples', (nir_intrinsic_deref_atomic:=109): 'nir_intrinsic_deref_atomic', (nir_intrinsic_deref_atomic_swap:=110): 'nir_intrinsic_deref_atomic_swap', (nir_intrinsic_deref_buffer_array_length:=111): 'nir_intrinsic_deref_buffer_array_length', (nir_intrinsic_deref_implicit_array_length:=112): 'nir_intrinsic_deref_implicit_array_length', (nir_intrinsic_deref_mode_is:=113): 'nir_intrinsic_deref_mode_is', (nir_intrinsic_deref_texture_src:=114): 'nir_intrinsic_deref_texture_src', (nir_intrinsic_doorbell_agx:=115): 'nir_intrinsic_doorbell_agx', (nir_intrinsic_dpas_intel:=116): 'nir_intrinsic_dpas_intel', (nir_intrinsic_dpp16_shift_amd:=117): 'nir_intrinsic_dpp16_shift_amd', (nir_intrinsic_elect:=118): 'nir_intrinsic_elect', (nir_intrinsic_elect_any_ir3:=119): 'nir_intrinsic_elect_any_ir3', (nir_intrinsic_emit_primitive_poly:=120): 'nir_intrinsic_emit_primitive_poly', (nir_intrinsic_emit_vertex:=121): 'nir_intrinsic_emit_vertex', (nir_intrinsic_emit_vertex_nv:=122): 'nir_intrinsic_emit_vertex_nv', (nir_intrinsic_emit_vertex_with_counter:=123): 'nir_intrinsic_emit_vertex_with_counter', (nir_intrinsic_end_invocation_interlock:=124): 'nir_intrinsic_end_invocation_interlock', (nir_intrinsic_end_primitive:=125): 'nir_intrinsic_end_primitive', (nir_intrinsic_end_primitive_nv:=126): 'nir_intrinsic_end_primitive_nv', (nir_intrinsic_end_primitive_with_counter:=127): 'nir_intrinsic_end_primitive_with_counter', (nir_intrinsic_enqueue_node_payloads:=128): 'nir_intrinsic_enqueue_node_payloads', (nir_intrinsic_exclusive_scan:=129): 'nir_intrinsic_exclusive_scan', (nir_intrinsic_exclusive_scan_clusters_ir3:=130): 'nir_intrinsic_exclusive_scan_clusters_ir3', (nir_intrinsic_execute_callable:=131): 'nir_intrinsic_execute_callable', (nir_intrinsic_execute_closest_hit_amd:=132): 'nir_intrinsic_execute_closest_hit_amd', (nir_intrinsic_execute_miss_amd:=133): 'nir_intrinsic_execute_miss_amd', (nir_intrinsic_export_agx:=134): 'nir_intrinsic_export_agx', (nir_intrinsic_export_amd:=135): 'nir_intrinsic_export_amd', (nir_intrinsic_export_dual_src_blend_amd:=136): 'nir_intrinsic_export_dual_src_blend_amd', (nir_intrinsic_export_row_amd:=137): 'nir_intrinsic_export_row_amd', (nir_intrinsic_fence_helper_exit_agx:=138): 'nir_intrinsic_fence_helper_exit_agx', (nir_intrinsic_fence_mem_to_tex_agx:=139): 'nir_intrinsic_fence_mem_to_tex_agx', (nir_intrinsic_fence_pbe_to_tex_agx:=140): 'nir_intrinsic_fence_pbe_to_tex_agx', (nir_intrinsic_fence_pbe_to_tex_pixel_agx:=141): 'nir_intrinsic_fence_pbe_to_tex_pixel_agx', (nir_intrinsic_final_primitive_nv:=142): 'nir_intrinsic_final_primitive_nv', (nir_intrinsic_finalize_incoming_node_payload:=143): 'nir_intrinsic_finalize_incoming_node_payload', (nir_intrinsic_first_invocation:=144): 'nir_intrinsic_first_invocation', (nir_intrinsic_fs_out_nv:=145): 'nir_intrinsic_fs_out_nv', (nir_intrinsic_gds_atomic_add_amd:=146): 'nir_intrinsic_gds_atomic_add_amd', (nir_intrinsic_get_ssbo_size:=147): 'nir_intrinsic_get_ssbo_size', (nir_intrinsic_get_ubo_size:=148): 'nir_intrinsic_get_ubo_size', (nir_intrinsic_global_atomic:=149): 'nir_intrinsic_global_atomic', (nir_intrinsic_global_atomic_2x32:=150): 'nir_intrinsic_global_atomic_2x32', (nir_intrinsic_global_atomic_agx:=151): 'nir_intrinsic_global_atomic_agx', (nir_intrinsic_global_atomic_amd:=152): 'nir_intrinsic_global_atomic_amd', (nir_intrinsic_global_atomic_swap:=153): 'nir_intrinsic_global_atomic_swap', (nir_intrinsic_global_atomic_swap_2x32:=154): 'nir_intrinsic_global_atomic_swap_2x32', (nir_intrinsic_global_atomic_swap_agx:=155): 'nir_intrinsic_global_atomic_swap_agx', (nir_intrinsic_global_atomic_swap_amd:=156): 'nir_intrinsic_global_atomic_swap_amd', (nir_intrinsic_ignore_ray_intersection:=157): 'nir_intrinsic_ignore_ray_intersection', (nir_intrinsic_imadsp_nv:=158): 'nir_intrinsic_imadsp_nv', (nir_intrinsic_image_atomic:=159): 'nir_intrinsic_image_atomic', (nir_intrinsic_image_atomic_swap:=160): 'nir_intrinsic_image_atomic_swap', (nir_intrinsic_image_deref_atomic:=161): 'nir_intrinsic_image_deref_atomic', (nir_intrinsic_image_deref_atomic_swap:=162): 'nir_intrinsic_image_deref_atomic_swap', (nir_intrinsic_image_deref_descriptor_amd:=163): 'nir_intrinsic_image_deref_descriptor_amd', (nir_intrinsic_image_deref_format:=164): 'nir_intrinsic_image_deref_format', (nir_intrinsic_image_deref_fragment_mask_load_amd:=165): 'nir_intrinsic_image_deref_fragment_mask_load_amd', (nir_intrinsic_image_deref_levels:=166): 'nir_intrinsic_image_deref_levels', (nir_intrinsic_image_deref_load:=167): 'nir_intrinsic_image_deref_load', (nir_intrinsic_image_deref_load_info_nv:=168): 'nir_intrinsic_image_deref_load_info_nv', (nir_intrinsic_image_deref_load_param_intel:=169): 'nir_intrinsic_image_deref_load_param_intel', (nir_intrinsic_image_deref_load_raw_intel:=170): 'nir_intrinsic_image_deref_load_raw_intel', (nir_intrinsic_image_deref_order:=171): 'nir_intrinsic_image_deref_order', (nir_intrinsic_image_deref_samples:=172): 'nir_intrinsic_image_deref_samples', (nir_intrinsic_image_deref_samples_identical:=173): 'nir_intrinsic_image_deref_samples_identical', (nir_intrinsic_image_deref_size:=174): 'nir_intrinsic_image_deref_size', (nir_intrinsic_image_deref_sparse_load:=175): 'nir_intrinsic_image_deref_sparse_load', (nir_intrinsic_image_deref_store:=176): 'nir_intrinsic_image_deref_store', (nir_intrinsic_image_deref_store_block_agx:=177): 'nir_intrinsic_image_deref_store_block_agx', (nir_intrinsic_image_deref_store_raw_intel:=178): 'nir_intrinsic_image_deref_store_raw_intel', (nir_intrinsic_image_deref_texel_address:=179): 'nir_intrinsic_image_deref_texel_address', (nir_intrinsic_image_descriptor_amd:=180): 'nir_intrinsic_image_descriptor_amd', (nir_intrinsic_image_format:=181): 'nir_intrinsic_image_format', (nir_intrinsic_image_fragment_mask_load_amd:=182): 'nir_intrinsic_image_fragment_mask_load_amd', (nir_intrinsic_image_levels:=183): 'nir_intrinsic_image_levels', (nir_intrinsic_image_load:=184): 'nir_intrinsic_image_load', (nir_intrinsic_image_load_raw_intel:=185): 'nir_intrinsic_image_load_raw_intel', (nir_intrinsic_image_order:=186): 'nir_intrinsic_image_order', (nir_intrinsic_image_samples:=187): 'nir_intrinsic_image_samples', (nir_intrinsic_image_samples_identical:=188): 'nir_intrinsic_image_samples_identical', (nir_intrinsic_image_size:=189): 'nir_intrinsic_image_size', (nir_intrinsic_image_sparse_load:=190): 'nir_intrinsic_image_sparse_load', (nir_intrinsic_image_store:=191): 'nir_intrinsic_image_store', (nir_intrinsic_image_store_block_agx:=192): 'nir_intrinsic_image_store_block_agx', (nir_intrinsic_image_store_raw_intel:=193): 'nir_intrinsic_image_store_raw_intel', (nir_intrinsic_image_texel_address:=194): 'nir_intrinsic_image_texel_address', (nir_intrinsic_inclusive_scan:=195): 'nir_intrinsic_inclusive_scan', (nir_intrinsic_inclusive_scan_clusters_ir3:=196): 'nir_intrinsic_inclusive_scan_clusters_ir3', (nir_intrinsic_initialize_node_payloads:=197): 'nir_intrinsic_initialize_node_payloads', (nir_intrinsic_interp_deref_at_centroid:=198): 'nir_intrinsic_interp_deref_at_centroid', (nir_intrinsic_interp_deref_at_offset:=199): 'nir_intrinsic_interp_deref_at_offset', (nir_intrinsic_interp_deref_at_sample:=200): 'nir_intrinsic_interp_deref_at_sample', (nir_intrinsic_interp_deref_at_vertex:=201): 'nir_intrinsic_interp_deref_at_vertex', (nir_intrinsic_inverse_ballot:=202): 'nir_intrinsic_inverse_ballot', (nir_intrinsic_ipa_nv:=203): 'nir_intrinsic_ipa_nv', (nir_intrinsic_is_helper_invocation:=204): 'nir_intrinsic_is_helper_invocation', (nir_intrinsic_is_sparse_resident_zink:=205): 'nir_intrinsic_is_sparse_resident_zink', (nir_intrinsic_is_sparse_texels_resident:=206): 'nir_intrinsic_is_sparse_texels_resident', (nir_intrinsic_is_subgroup_invocation_lt_amd:=207): 'nir_intrinsic_is_subgroup_invocation_lt_amd', (nir_intrinsic_isberd_nv:=208): 'nir_intrinsic_isberd_nv', (nir_intrinsic_lane_permute_16_amd:=209): 'nir_intrinsic_lane_permute_16_amd', (nir_intrinsic_last_invocation:=210): 'nir_intrinsic_last_invocation', (nir_intrinsic_launch_mesh_workgroups:=211): 'nir_intrinsic_launch_mesh_workgroups', (nir_intrinsic_launch_mesh_workgroups_with_payload_deref:=212): 'nir_intrinsic_launch_mesh_workgroups_with_payload_deref', (nir_intrinsic_ldc_nv:=213): 'nir_intrinsic_ldc_nv', (nir_intrinsic_ldcx_nv:=214): 'nir_intrinsic_ldcx_nv', (nir_intrinsic_ldtram_nv:=215): 'nir_intrinsic_ldtram_nv', (nir_intrinsic_load_aa_line_width:=216): 'nir_intrinsic_load_aa_line_width', (nir_intrinsic_load_accel_struct_amd:=217): 'nir_intrinsic_load_accel_struct_amd', (nir_intrinsic_load_active_samples_agx:=218): 'nir_intrinsic_load_active_samples_agx', (nir_intrinsic_load_active_subgroup_count_agx:=219): 'nir_intrinsic_load_active_subgroup_count_agx', (nir_intrinsic_load_active_subgroup_invocation_agx:=220): 'nir_intrinsic_load_active_subgroup_invocation_agx', (nir_intrinsic_load_agx:=221): 'nir_intrinsic_load_agx', (nir_intrinsic_load_alpha_reference_amd:=222): 'nir_intrinsic_load_alpha_reference_amd', (nir_intrinsic_load_api_sample_mask_agx:=223): 'nir_intrinsic_load_api_sample_mask_agx', (nir_intrinsic_load_attrib_clamp_agx:=224): 'nir_intrinsic_load_attrib_clamp_agx', (nir_intrinsic_load_attribute_pan:=225): 'nir_intrinsic_load_attribute_pan', (nir_intrinsic_load_back_face_agx:=226): 'nir_intrinsic_load_back_face_agx', (nir_intrinsic_load_barycentric_at_offset:=227): 'nir_intrinsic_load_barycentric_at_offset', (nir_intrinsic_load_barycentric_at_offset_nv:=228): 'nir_intrinsic_load_barycentric_at_offset_nv', (nir_intrinsic_load_barycentric_at_sample:=229): 'nir_intrinsic_load_barycentric_at_sample', (nir_intrinsic_load_barycentric_centroid:=230): 'nir_intrinsic_load_barycentric_centroid', (nir_intrinsic_load_barycentric_coord_at_offset:=231): 'nir_intrinsic_load_barycentric_coord_at_offset', (nir_intrinsic_load_barycentric_coord_at_sample:=232): 'nir_intrinsic_load_barycentric_coord_at_sample', (nir_intrinsic_load_barycentric_coord_centroid:=233): 'nir_intrinsic_load_barycentric_coord_centroid', (nir_intrinsic_load_barycentric_coord_pixel:=234): 'nir_intrinsic_load_barycentric_coord_pixel', (nir_intrinsic_load_barycentric_coord_sample:=235): 'nir_intrinsic_load_barycentric_coord_sample', (nir_intrinsic_load_barycentric_model:=236): 'nir_intrinsic_load_barycentric_model', (nir_intrinsic_load_barycentric_optimize_amd:=237): 'nir_intrinsic_load_barycentric_optimize_amd', (nir_intrinsic_load_barycentric_pixel:=238): 'nir_intrinsic_load_barycentric_pixel', (nir_intrinsic_load_barycentric_sample:=239): 'nir_intrinsic_load_barycentric_sample', (nir_intrinsic_load_base_global_invocation_id:=240): 'nir_intrinsic_load_base_global_invocation_id', (nir_intrinsic_load_base_instance:=241): 'nir_intrinsic_load_base_instance', (nir_intrinsic_load_base_vertex:=242): 'nir_intrinsic_load_base_vertex', (nir_intrinsic_load_base_workgroup_id:=243): 'nir_intrinsic_load_base_workgroup_id', (nir_intrinsic_load_blend_const_color_a_float:=244): 'nir_intrinsic_load_blend_const_color_a_float', (nir_intrinsic_load_blend_const_color_aaaa8888_unorm:=245): 'nir_intrinsic_load_blend_const_color_aaaa8888_unorm', (nir_intrinsic_load_blend_const_color_b_float:=246): 'nir_intrinsic_load_blend_const_color_b_float', (nir_intrinsic_load_blend_const_color_g_float:=247): 'nir_intrinsic_load_blend_const_color_g_float', (nir_intrinsic_load_blend_const_color_r_float:=248): 'nir_intrinsic_load_blend_const_color_r_float', (nir_intrinsic_load_blend_const_color_rgba:=249): 'nir_intrinsic_load_blend_const_color_rgba', (nir_intrinsic_load_blend_const_color_rgba8888_unorm:=250): 'nir_intrinsic_load_blend_const_color_rgba8888_unorm', (nir_intrinsic_load_btd_global_arg_addr_intel:=251): 'nir_intrinsic_load_btd_global_arg_addr_intel', (nir_intrinsic_load_btd_local_arg_addr_intel:=252): 'nir_intrinsic_load_btd_local_arg_addr_intel', (nir_intrinsic_load_btd_resume_sbt_addr_intel:=253): 'nir_intrinsic_load_btd_resume_sbt_addr_intel', (nir_intrinsic_load_btd_shader_type_intel:=254): 'nir_intrinsic_load_btd_shader_type_intel', (nir_intrinsic_load_btd_stack_id_intel:=255): 'nir_intrinsic_load_btd_stack_id_intel', (nir_intrinsic_load_buffer_amd:=256): 'nir_intrinsic_load_buffer_amd', (nir_intrinsic_load_callable_sbt_addr_intel:=257): 'nir_intrinsic_load_callable_sbt_addr_intel', (nir_intrinsic_load_callable_sbt_stride_intel:=258): 'nir_intrinsic_load_callable_sbt_stride_intel', (nir_intrinsic_load_clamp_vertex_color_amd:=259): 'nir_intrinsic_load_clamp_vertex_color_amd', (nir_intrinsic_load_clip_half_line_width_amd:=260): 'nir_intrinsic_load_clip_half_line_width_amd', (nir_intrinsic_load_clip_z_coeff_agx:=261): 'nir_intrinsic_load_clip_z_coeff_agx', (nir_intrinsic_load_coalesced_input_count:=262): 'nir_intrinsic_load_coalesced_input_count', (nir_intrinsic_load_coefficients_agx:=263): 'nir_intrinsic_load_coefficients_agx', (nir_intrinsic_load_color0:=264): 'nir_intrinsic_load_color0', (nir_intrinsic_load_color1:=265): 'nir_intrinsic_load_color1', (nir_intrinsic_load_const_buf_base_addr_lvp:=266): 'nir_intrinsic_load_const_buf_base_addr_lvp', (nir_intrinsic_load_const_ir3:=267): 'nir_intrinsic_load_const_ir3', (nir_intrinsic_load_constant:=268): 'nir_intrinsic_load_constant', (nir_intrinsic_load_constant_agx:=269): 'nir_intrinsic_load_constant_agx', (nir_intrinsic_load_constant_base_ptr:=270): 'nir_intrinsic_load_constant_base_ptr', (nir_intrinsic_load_converted_output_pan:=271): 'nir_intrinsic_load_converted_output_pan', (nir_intrinsic_load_core_id_agx:=272): 'nir_intrinsic_load_core_id_agx', (nir_intrinsic_load_cull_any_enabled_amd:=273): 'nir_intrinsic_load_cull_any_enabled_amd', (nir_intrinsic_load_cull_back_face_enabled_amd:=274): 'nir_intrinsic_load_cull_back_face_enabled_amd', (nir_intrinsic_load_cull_ccw_amd:=275): 'nir_intrinsic_load_cull_ccw_amd', (nir_intrinsic_load_cull_front_face_enabled_amd:=276): 'nir_intrinsic_load_cull_front_face_enabled_amd', (nir_intrinsic_load_cull_line_viewport_xy_scale_and_offset_amd:=277): 'nir_intrinsic_load_cull_line_viewport_xy_scale_and_offset_amd', (nir_intrinsic_load_cull_mask:=278): 'nir_intrinsic_load_cull_mask', (nir_intrinsic_load_cull_mask_and_flags_amd:=279): 'nir_intrinsic_load_cull_mask_and_flags_amd', (nir_intrinsic_load_cull_small_line_precision_amd:=280): 'nir_intrinsic_load_cull_small_line_precision_amd', (nir_intrinsic_load_cull_small_lines_enabled_amd:=281): 'nir_intrinsic_load_cull_small_lines_enabled_amd', (nir_intrinsic_load_cull_small_triangle_precision_amd:=282): 'nir_intrinsic_load_cull_small_triangle_precision_amd', (nir_intrinsic_load_cull_small_triangles_enabled_amd:=283): 'nir_intrinsic_load_cull_small_triangles_enabled_amd', (nir_intrinsic_load_cull_triangle_viewport_xy_scale_and_offset_amd:=284): 'nir_intrinsic_load_cull_triangle_viewport_xy_scale_and_offset_amd', (nir_intrinsic_load_debug_log_desc_amd:=285): 'nir_intrinsic_load_debug_log_desc_amd', (nir_intrinsic_load_depth_never_agx:=286): 'nir_intrinsic_load_depth_never_agx', (nir_intrinsic_load_deref:=287): 'nir_intrinsic_load_deref', (nir_intrinsic_load_deref_block_intel:=288): 'nir_intrinsic_load_deref_block_intel', (nir_intrinsic_load_draw_id:=289): 'nir_intrinsic_load_draw_id', (nir_intrinsic_load_esgs_vertex_stride_amd:=290): 'nir_intrinsic_load_esgs_vertex_stride_amd', (nir_intrinsic_load_exported_agx:=291): 'nir_intrinsic_load_exported_agx', (nir_intrinsic_load_fb_layers_v3d:=292): 'nir_intrinsic_load_fb_layers_v3d', (nir_intrinsic_load_fbfetch_image_desc_amd:=293): 'nir_intrinsic_load_fbfetch_image_desc_amd', (nir_intrinsic_load_fbfetch_image_fmask_desc_amd:=294): 'nir_intrinsic_load_fbfetch_image_fmask_desc_amd', (nir_intrinsic_load_fep_w_v3d:=295): 'nir_intrinsic_load_fep_w_v3d', (nir_intrinsic_load_first_vertex:=296): 'nir_intrinsic_load_first_vertex', (nir_intrinsic_load_fixed_point_size_agx:=297): 'nir_intrinsic_load_fixed_point_size_agx', (nir_intrinsic_load_flat_mask:=298): 'nir_intrinsic_load_flat_mask', (nir_intrinsic_load_force_vrs_rates_amd:=299): 'nir_intrinsic_load_force_vrs_rates_amd', (nir_intrinsic_load_frag_coord:=300): 'nir_intrinsic_load_frag_coord', (nir_intrinsic_load_frag_coord_unscaled_ir3:=301): 'nir_intrinsic_load_frag_coord_unscaled_ir3', (nir_intrinsic_load_frag_coord_w:=302): 'nir_intrinsic_load_frag_coord_w', (nir_intrinsic_load_frag_coord_z:=303): 'nir_intrinsic_load_frag_coord_z', (nir_intrinsic_load_frag_coord_zw_pan:=304): 'nir_intrinsic_load_frag_coord_zw_pan', (nir_intrinsic_load_frag_invocation_count:=305): 'nir_intrinsic_load_frag_invocation_count', (nir_intrinsic_load_frag_offset_ir3:=306): 'nir_intrinsic_load_frag_offset_ir3', (nir_intrinsic_load_frag_shading_rate:=307): 'nir_intrinsic_load_frag_shading_rate', (nir_intrinsic_load_frag_size:=308): 'nir_intrinsic_load_frag_size', (nir_intrinsic_load_frag_size_ir3:=309): 'nir_intrinsic_load_frag_size_ir3', (nir_intrinsic_load_from_texture_handle_agx:=310): 'nir_intrinsic_load_from_texture_handle_agx', (nir_intrinsic_load_front_face:=311): 'nir_intrinsic_load_front_face', (nir_intrinsic_load_front_face_fsign:=312): 'nir_intrinsic_load_front_face_fsign', (nir_intrinsic_load_fs_input_interp_deltas:=313): 'nir_intrinsic_load_fs_input_interp_deltas', (nir_intrinsic_load_fs_msaa_intel:=314): 'nir_intrinsic_load_fs_msaa_intel', (nir_intrinsic_load_fully_covered:=315): 'nir_intrinsic_load_fully_covered', (nir_intrinsic_load_geometry_param_buffer_poly:=316): 'nir_intrinsic_load_geometry_param_buffer_poly', (nir_intrinsic_load_global:=317): 'nir_intrinsic_load_global', (nir_intrinsic_load_global_2x32:=318): 'nir_intrinsic_load_global_2x32', (nir_intrinsic_load_global_amd:=319): 'nir_intrinsic_load_global_amd', (nir_intrinsic_load_global_base_ptr:=320): 'nir_intrinsic_load_global_base_ptr', (nir_intrinsic_load_global_block_intel:=321): 'nir_intrinsic_load_global_block_intel', (nir_intrinsic_load_global_bounded:=322): 'nir_intrinsic_load_global_bounded', (nir_intrinsic_load_global_constant:=323): 'nir_intrinsic_load_global_constant', (nir_intrinsic_load_global_constant_bounded:=324): 'nir_intrinsic_load_global_constant_bounded', (nir_intrinsic_load_global_constant_offset:=325): 'nir_intrinsic_load_global_constant_offset', (nir_intrinsic_load_global_constant_uniform_block_intel:=326): 'nir_intrinsic_load_global_constant_uniform_block_intel', (nir_intrinsic_load_global_etna:=327): 'nir_intrinsic_load_global_etna', (nir_intrinsic_load_global_invocation_id:=328): 'nir_intrinsic_load_global_invocation_id', (nir_intrinsic_load_global_invocation_index:=329): 'nir_intrinsic_load_global_invocation_index', (nir_intrinsic_load_global_ir3:=330): 'nir_intrinsic_load_global_ir3', (nir_intrinsic_load_global_size:=331): 'nir_intrinsic_load_global_size', (nir_intrinsic_load_gs_header_ir3:=332): 'nir_intrinsic_load_gs_header_ir3', (nir_intrinsic_load_gs_vertex_offset_amd:=333): 'nir_intrinsic_load_gs_vertex_offset_amd', (nir_intrinsic_load_gs_wave_id_amd:=334): 'nir_intrinsic_load_gs_wave_id_amd', (nir_intrinsic_load_helper_arg_hi_agx:=335): 'nir_intrinsic_load_helper_arg_hi_agx', (nir_intrinsic_load_helper_arg_lo_agx:=336): 'nir_intrinsic_load_helper_arg_lo_agx', (nir_intrinsic_load_helper_invocation:=337): 'nir_intrinsic_load_helper_invocation', (nir_intrinsic_load_helper_op_id_agx:=338): 'nir_intrinsic_load_helper_op_id_agx', (nir_intrinsic_load_hit_attrib_amd:=339): 'nir_intrinsic_load_hit_attrib_amd', (nir_intrinsic_load_hs_out_patch_data_offset_amd:=340): 'nir_intrinsic_load_hs_out_patch_data_offset_amd', (nir_intrinsic_load_hs_patch_stride_ir3:=341): 'nir_intrinsic_load_hs_patch_stride_ir3', (nir_intrinsic_load_initial_edgeflags_amd:=342): 'nir_intrinsic_load_initial_edgeflags_amd', (nir_intrinsic_load_inline_data_intel:=343): 'nir_intrinsic_load_inline_data_intel', (nir_intrinsic_load_input:=344): 'nir_intrinsic_load_input', (nir_intrinsic_load_input_assembly_buffer_poly:=345): 'nir_intrinsic_load_input_assembly_buffer_poly', (nir_intrinsic_load_input_attachment_conv_pan:=346): 'nir_intrinsic_load_input_attachment_conv_pan', (nir_intrinsic_load_input_attachment_coord:=347): 'nir_intrinsic_load_input_attachment_coord', (nir_intrinsic_load_input_attachment_target_pan:=348): 'nir_intrinsic_load_input_attachment_target_pan', (nir_intrinsic_load_input_topology_poly:=349): 'nir_intrinsic_load_input_topology_poly', (nir_intrinsic_load_input_vertex:=350): 'nir_intrinsic_load_input_vertex', (nir_intrinsic_load_instance_id:=351): 'nir_intrinsic_load_instance_id', (nir_intrinsic_load_interpolated_input:=352): 'nir_intrinsic_load_interpolated_input', (nir_intrinsic_load_intersection_opaque_amd:=353): 'nir_intrinsic_load_intersection_opaque_amd', (nir_intrinsic_load_invocation_id:=354): 'nir_intrinsic_load_invocation_id', (nir_intrinsic_load_is_first_fan_agx:=355): 'nir_intrinsic_load_is_first_fan_agx', (nir_intrinsic_load_is_indexed_draw:=356): 'nir_intrinsic_load_is_indexed_draw', (nir_intrinsic_load_kernel_input:=357): 'nir_intrinsic_load_kernel_input', (nir_intrinsic_load_layer_id:=358): 'nir_intrinsic_load_layer_id', (nir_intrinsic_load_lds_ngg_gs_out_vertex_base_amd:=359): 'nir_intrinsic_load_lds_ngg_gs_out_vertex_base_amd', (nir_intrinsic_load_leaf_opaque_intel:=360): 'nir_intrinsic_load_leaf_opaque_intel', (nir_intrinsic_load_leaf_procedural_intel:=361): 'nir_intrinsic_load_leaf_procedural_intel', (nir_intrinsic_load_line_coord:=362): 'nir_intrinsic_load_line_coord', (nir_intrinsic_load_line_width:=363): 'nir_intrinsic_load_line_width', (nir_intrinsic_load_local_invocation_id:=364): 'nir_intrinsic_load_local_invocation_id', (nir_intrinsic_load_local_invocation_index:=365): 'nir_intrinsic_load_local_invocation_index', (nir_intrinsic_load_local_pixel_agx:=366): 'nir_intrinsic_load_local_pixel_agx', (nir_intrinsic_load_local_shared_r600:=367): 'nir_intrinsic_load_local_shared_r600', (nir_intrinsic_load_lshs_vertex_stride_amd:=368): 'nir_intrinsic_load_lshs_vertex_stride_amd', (nir_intrinsic_load_max_polygon_intel:=369): 'nir_intrinsic_load_max_polygon_intel', (nir_intrinsic_load_merged_wave_info_amd:=370): 'nir_intrinsic_load_merged_wave_info_amd', (nir_intrinsic_load_mesh_view_count:=371): 'nir_intrinsic_load_mesh_view_count', (nir_intrinsic_load_mesh_view_indices:=372): 'nir_intrinsic_load_mesh_view_indices', (nir_intrinsic_load_multisampled_pan:=373): 'nir_intrinsic_load_multisampled_pan', (nir_intrinsic_load_noperspective_varyings_pan:=374): 'nir_intrinsic_load_noperspective_varyings_pan', (nir_intrinsic_load_num_subgroups:=375): 'nir_intrinsic_load_num_subgroups', (nir_intrinsic_load_num_vertices:=376): 'nir_intrinsic_load_num_vertices', (nir_intrinsic_load_num_vertices_per_primitive_amd:=377): 'nir_intrinsic_load_num_vertices_per_primitive_amd', (nir_intrinsic_load_num_workgroups:=378): 'nir_intrinsic_load_num_workgroups', (nir_intrinsic_load_ordered_id_amd:=379): 'nir_intrinsic_load_ordered_id_amd', (nir_intrinsic_load_output:=380): 'nir_intrinsic_load_output', (nir_intrinsic_load_packed_passthrough_primitive_amd:=381): 'nir_intrinsic_load_packed_passthrough_primitive_amd', (nir_intrinsic_load_param:=382): 'nir_intrinsic_load_param', (nir_intrinsic_load_patch_vertices_in:=383): 'nir_intrinsic_load_patch_vertices_in', (nir_intrinsic_load_per_primitive_input:=384): 'nir_intrinsic_load_per_primitive_input', (nir_intrinsic_load_per_primitive_output:=385): 'nir_intrinsic_load_per_primitive_output', (nir_intrinsic_load_per_primitive_remap_intel:=386): 'nir_intrinsic_load_per_primitive_remap_intel', (nir_intrinsic_load_per_vertex_input:=387): 'nir_intrinsic_load_per_vertex_input', (nir_intrinsic_load_per_vertex_output:=388): 'nir_intrinsic_load_per_vertex_output', (nir_intrinsic_load_per_view_output:=389): 'nir_intrinsic_load_per_view_output', (nir_intrinsic_load_persp_center_rhw_ir3:=390): 'nir_intrinsic_load_persp_center_rhw_ir3', (nir_intrinsic_load_pipeline_stat_query_enabled_amd:=391): 'nir_intrinsic_load_pipeline_stat_query_enabled_amd', (nir_intrinsic_load_pixel_coord:=392): 'nir_intrinsic_load_pixel_coord', (nir_intrinsic_load_point_coord:=393): 'nir_intrinsic_load_point_coord', (nir_intrinsic_load_point_coord_maybe_flipped:=394): 'nir_intrinsic_load_point_coord_maybe_flipped', (nir_intrinsic_load_poly_line_smooth_enabled:=395): 'nir_intrinsic_load_poly_line_smooth_enabled', (nir_intrinsic_load_polygon_stipple_agx:=396): 'nir_intrinsic_load_polygon_stipple_agx', (nir_intrinsic_load_polygon_stipple_buffer_amd:=397): 'nir_intrinsic_load_polygon_stipple_buffer_amd', (nir_intrinsic_load_preamble:=398): 'nir_intrinsic_load_preamble', (nir_intrinsic_load_prim_gen_query_enabled_amd:=399): 'nir_intrinsic_load_prim_gen_query_enabled_amd', (nir_intrinsic_load_prim_xfb_query_enabled_amd:=400): 'nir_intrinsic_load_prim_xfb_query_enabled_amd', (nir_intrinsic_load_primitive_id:=401): 'nir_intrinsic_load_primitive_id', (nir_intrinsic_load_primitive_location_ir3:=402): 'nir_intrinsic_load_primitive_location_ir3', (nir_intrinsic_load_printf_buffer_address:=403): 'nir_intrinsic_load_printf_buffer_address', (nir_intrinsic_load_printf_buffer_size:=404): 'nir_intrinsic_load_printf_buffer_size', (nir_intrinsic_load_provoking_last:=405): 'nir_intrinsic_load_provoking_last', (nir_intrinsic_load_provoking_vtx_amd:=406): 'nir_intrinsic_load_provoking_vtx_amd', (nir_intrinsic_load_provoking_vtx_in_prim_amd:=407): 'nir_intrinsic_load_provoking_vtx_in_prim_amd', (nir_intrinsic_load_push_constant:=408): 'nir_intrinsic_load_push_constant', (nir_intrinsic_load_push_constant_zink:=409): 'nir_intrinsic_load_push_constant_zink', (nir_intrinsic_load_r600_indirect_per_vertex_input:=410): 'nir_intrinsic_load_r600_indirect_per_vertex_input', (nir_intrinsic_load_rasterization_primitive_amd:=411): 'nir_intrinsic_load_rasterization_primitive_amd', (nir_intrinsic_load_rasterization_samples_amd:=412): 'nir_intrinsic_load_rasterization_samples_amd', (nir_intrinsic_load_rasterization_stream:=413): 'nir_intrinsic_load_rasterization_stream', (nir_intrinsic_load_raw_output_pan:=414): 'nir_intrinsic_load_raw_output_pan', (nir_intrinsic_load_raw_vertex_id_pan:=415): 'nir_intrinsic_load_raw_vertex_id_pan', (nir_intrinsic_load_raw_vertex_offset_pan:=416): 'nir_intrinsic_load_raw_vertex_offset_pan', (nir_intrinsic_load_ray_base_mem_addr_intel:=417): 'nir_intrinsic_load_ray_base_mem_addr_intel', (nir_intrinsic_load_ray_flags:=418): 'nir_intrinsic_load_ray_flags', (nir_intrinsic_load_ray_geometry_index:=419): 'nir_intrinsic_load_ray_geometry_index', (nir_intrinsic_load_ray_hit_kind:=420): 'nir_intrinsic_load_ray_hit_kind', (nir_intrinsic_load_ray_hit_sbt_addr_intel:=421): 'nir_intrinsic_load_ray_hit_sbt_addr_intel', (nir_intrinsic_load_ray_hit_sbt_stride_intel:=422): 'nir_intrinsic_load_ray_hit_sbt_stride_intel', (nir_intrinsic_load_ray_hw_stack_size_intel:=423): 'nir_intrinsic_load_ray_hw_stack_size_intel', (nir_intrinsic_load_ray_instance_custom_index:=424): 'nir_intrinsic_load_ray_instance_custom_index', (nir_intrinsic_load_ray_launch_id:=425): 'nir_intrinsic_load_ray_launch_id', (nir_intrinsic_load_ray_launch_size:=426): 'nir_intrinsic_load_ray_launch_size', (nir_intrinsic_load_ray_miss_sbt_addr_intel:=427): 'nir_intrinsic_load_ray_miss_sbt_addr_intel', (nir_intrinsic_load_ray_miss_sbt_stride_intel:=428): 'nir_intrinsic_load_ray_miss_sbt_stride_intel', (nir_intrinsic_load_ray_num_dss_rt_stacks_intel:=429): 'nir_intrinsic_load_ray_num_dss_rt_stacks_intel', (nir_intrinsic_load_ray_object_direction:=430): 'nir_intrinsic_load_ray_object_direction', (nir_intrinsic_load_ray_object_origin:=431): 'nir_intrinsic_load_ray_object_origin', (nir_intrinsic_load_ray_object_to_world:=432): 'nir_intrinsic_load_ray_object_to_world', (nir_intrinsic_load_ray_query_global_intel:=433): 'nir_intrinsic_load_ray_query_global_intel', (nir_intrinsic_load_ray_sw_stack_size_intel:=434): 'nir_intrinsic_load_ray_sw_stack_size_intel', (nir_intrinsic_load_ray_t_max:=435): 'nir_intrinsic_load_ray_t_max', (nir_intrinsic_load_ray_t_min:=436): 'nir_intrinsic_load_ray_t_min', (nir_intrinsic_load_ray_tracing_stack_base_lvp:=437): 'nir_intrinsic_load_ray_tracing_stack_base_lvp', (nir_intrinsic_load_ray_triangle_vertex_positions:=438): 'nir_intrinsic_load_ray_triangle_vertex_positions', (nir_intrinsic_load_ray_world_direction:=439): 'nir_intrinsic_load_ray_world_direction', (nir_intrinsic_load_ray_world_origin:=440): 'nir_intrinsic_load_ray_world_origin', (nir_intrinsic_load_ray_world_to_object:=441): 'nir_intrinsic_load_ray_world_to_object', (nir_intrinsic_load_readonly_output_pan:=442): 'nir_intrinsic_load_readonly_output_pan', (nir_intrinsic_load_reg:=443): 'nir_intrinsic_load_reg', (nir_intrinsic_load_reg_indirect:=444): 'nir_intrinsic_load_reg_indirect', (nir_intrinsic_load_rel_patch_id_ir3:=445): 'nir_intrinsic_load_rel_patch_id_ir3', (nir_intrinsic_load_reloc_const_intel:=446): 'nir_intrinsic_load_reloc_const_intel', (nir_intrinsic_load_resume_shader_address_amd:=447): 'nir_intrinsic_load_resume_shader_address_amd', (nir_intrinsic_load_ring_attr_amd:=448): 'nir_intrinsic_load_ring_attr_amd', (nir_intrinsic_load_ring_attr_offset_amd:=449): 'nir_intrinsic_load_ring_attr_offset_amd', (nir_intrinsic_load_ring_es2gs_offset_amd:=450): 'nir_intrinsic_load_ring_es2gs_offset_amd', (nir_intrinsic_load_ring_esgs_amd:=451): 'nir_intrinsic_load_ring_esgs_amd', (nir_intrinsic_load_ring_gs2vs_offset_amd:=452): 'nir_intrinsic_load_ring_gs2vs_offset_amd', (nir_intrinsic_load_ring_gsvs_amd:=453): 'nir_intrinsic_load_ring_gsvs_amd', (nir_intrinsic_load_ring_mesh_scratch_amd:=454): 'nir_intrinsic_load_ring_mesh_scratch_amd', (nir_intrinsic_load_ring_mesh_scratch_offset_amd:=455): 'nir_intrinsic_load_ring_mesh_scratch_offset_amd', (nir_intrinsic_load_ring_task_draw_amd:=456): 'nir_intrinsic_load_ring_task_draw_amd', (nir_intrinsic_load_ring_task_payload_amd:=457): 'nir_intrinsic_load_ring_task_payload_amd', (nir_intrinsic_load_ring_tess_factors_amd:=458): 'nir_intrinsic_load_ring_tess_factors_amd', (nir_intrinsic_load_ring_tess_factors_offset_amd:=459): 'nir_intrinsic_load_ring_tess_factors_offset_amd', (nir_intrinsic_load_ring_tess_offchip_amd:=460): 'nir_intrinsic_load_ring_tess_offchip_amd', (nir_intrinsic_load_ring_tess_offchip_offset_amd:=461): 'nir_intrinsic_load_ring_tess_offchip_offset_amd', (nir_intrinsic_load_root_agx:=462): 'nir_intrinsic_load_root_agx', (nir_intrinsic_load_rt_arg_scratch_offset_amd:=463): 'nir_intrinsic_load_rt_arg_scratch_offset_amd', (nir_intrinsic_load_rt_conversion_pan:=464): 'nir_intrinsic_load_rt_conversion_pan', (nir_intrinsic_load_sample_id:=465): 'nir_intrinsic_load_sample_id', (nir_intrinsic_load_sample_id_no_per_sample:=466): 'nir_intrinsic_load_sample_id_no_per_sample', (nir_intrinsic_load_sample_mask:=467): 'nir_intrinsic_load_sample_mask', (nir_intrinsic_load_sample_mask_in:=468): 'nir_intrinsic_load_sample_mask_in', (nir_intrinsic_load_sample_pos:=469): 'nir_intrinsic_load_sample_pos', (nir_intrinsic_load_sample_pos_from_id:=470): 'nir_intrinsic_load_sample_pos_from_id', (nir_intrinsic_load_sample_pos_or_center:=471): 'nir_intrinsic_load_sample_pos_or_center', (nir_intrinsic_load_sample_positions_agx:=472): 'nir_intrinsic_load_sample_positions_agx', (nir_intrinsic_load_sample_positions_amd:=473): 'nir_intrinsic_load_sample_positions_amd', (nir_intrinsic_load_sample_positions_pan:=474): 'nir_intrinsic_load_sample_positions_pan', (nir_intrinsic_load_sampler_handle_agx:=475): 'nir_intrinsic_load_sampler_handle_agx', (nir_intrinsic_load_sampler_lod_parameters:=476): 'nir_intrinsic_load_sampler_lod_parameters', (nir_intrinsic_load_samples_log2_agx:=477): 'nir_intrinsic_load_samples_log2_agx', (nir_intrinsic_load_sbt_base_amd:=478): 'nir_intrinsic_load_sbt_base_amd', (nir_intrinsic_load_sbt_offset_amd:=479): 'nir_intrinsic_load_sbt_offset_amd', (nir_intrinsic_load_sbt_stride_amd:=480): 'nir_intrinsic_load_sbt_stride_amd', (nir_intrinsic_load_scalar_arg_amd:=481): 'nir_intrinsic_load_scalar_arg_amd', (nir_intrinsic_load_scratch:=482): 'nir_intrinsic_load_scratch', (nir_intrinsic_load_scratch_base_ptr:=483): 'nir_intrinsic_load_scratch_base_ptr', (nir_intrinsic_load_shader_call_data_offset_lvp:=484): 'nir_intrinsic_load_shader_call_data_offset_lvp', (nir_intrinsic_load_shader_index:=485): 'nir_intrinsic_load_shader_index', (nir_intrinsic_load_shader_output_pan:=486): 'nir_intrinsic_load_shader_output_pan', (nir_intrinsic_load_shader_part_tests_zs_agx:=487): 'nir_intrinsic_load_shader_part_tests_zs_agx', (nir_intrinsic_load_shader_record_ptr:=488): 'nir_intrinsic_load_shader_record_ptr', (nir_intrinsic_load_shared:=489): 'nir_intrinsic_load_shared', (nir_intrinsic_load_shared2_amd:=490): 'nir_intrinsic_load_shared2_amd', (nir_intrinsic_load_shared_base_ptr:=491): 'nir_intrinsic_load_shared_base_ptr', (nir_intrinsic_load_shared_block_intel:=492): 'nir_intrinsic_load_shared_block_intel', (nir_intrinsic_load_shared_ir3:=493): 'nir_intrinsic_load_shared_ir3', (nir_intrinsic_load_shared_lock_nv:=494): 'nir_intrinsic_load_shared_lock_nv', (nir_intrinsic_load_shared_uniform_block_intel:=495): 'nir_intrinsic_load_shared_uniform_block_intel', (nir_intrinsic_load_simd_width_intel:=496): 'nir_intrinsic_load_simd_width_intel', (nir_intrinsic_load_sm_count_nv:=497): 'nir_intrinsic_load_sm_count_nv', (nir_intrinsic_load_sm_id_nv:=498): 'nir_intrinsic_load_sm_id_nv', (nir_intrinsic_load_smem_amd:=499): 'nir_intrinsic_load_smem_amd', (nir_intrinsic_load_ssbo:=500): 'nir_intrinsic_load_ssbo', (nir_intrinsic_load_ssbo_address:=501): 'nir_intrinsic_load_ssbo_address', (nir_intrinsic_load_ssbo_block_intel:=502): 'nir_intrinsic_load_ssbo_block_intel', (nir_intrinsic_load_ssbo_intel:=503): 'nir_intrinsic_load_ssbo_intel', (nir_intrinsic_load_ssbo_ir3:=504): 'nir_intrinsic_load_ssbo_ir3', (nir_intrinsic_load_ssbo_uniform_block_intel:=505): 'nir_intrinsic_load_ssbo_uniform_block_intel', (nir_intrinsic_load_stack:=506): 'nir_intrinsic_load_stack', (nir_intrinsic_load_stat_query_address_agx:=507): 'nir_intrinsic_load_stat_query_address_agx', (nir_intrinsic_load_streamout_buffer_amd:=508): 'nir_intrinsic_load_streamout_buffer_amd', (nir_intrinsic_load_streamout_config_amd:=509): 'nir_intrinsic_load_streamout_config_amd', (nir_intrinsic_load_streamout_offset_amd:=510): 'nir_intrinsic_load_streamout_offset_amd', (nir_intrinsic_load_streamout_write_index_amd:=511): 'nir_intrinsic_load_streamout_write_index_amd', (nir_intrinsic_load_subgroup_eq_mask:=512): 'nir_intrinsic_load_subgroup_eq_mask', (nir_intrinsic_load_subgroup_ge_mask:=513): 'nir_intrinsic_load_subgroup_ge_mask', (nir_intrinsic_load_subgroup_gt_mask:=514): 'nir_intrinsic_load_subgroup_gt_mask', (nir_intrinsic_load_subgroup_id:=515): 'nir_intrinsic_load_subgroup_id', (nir_intrinsic_load_subgroup_id_shift_ir3:=516): 'nir_intrinsic_load_subgroup_id_shift_ir3', (nir_intrinsic_load_subgroup_invocation:=517): 'nir_intrinsic_load_subgroup_invocation', (nir_intrinsic_load_subgroup_le_mask:=518): 'nir_intrinsic_load_subgroup_le_mask', (nir_intrinsic_load_subgroup_lt_mask:=519): 'nir_intrinsic_load_subgroup_lt_mask', (nir_intrinsic_load_subgroup_size:=520): 'nir_intrinsic_load_subgroup_size', (nir_intrinsic_load_sysval_agx:=521): 'nir_intrinsic_load_sysval_agx', (nir_intrinsic_load_sysval_nv:=522): 'nir_intrinsic_load_sysval_nv', (nir_intrinsic_load_task_payload:=523): 'nir_intrinsic_load_task_payload', (nir_intrinsic_load_task_ring_entry_amd:=524): 'nir_intrinsic_load_task_ring_entry_amd', (nir_intrinsic_load_tcs_header_ir3:=525): 'nir_intrinsic_load_tcs_header_ir3', (nir_intrinsic_load_tcs_in_param_base_r600:=526): 'nir_intrinsic_load_tcs_in_param_base_r600', (nir_intrinsic_load_tcs_mem_attrib_stride:=527): 'nir_intrinsic_load_tcs_mem_attrib_stride', (nir_intrinsic_load_tcs_num_patches_amd:=528): 'nir_intrinsic_load_tcs_num_patches_amd', (nir_intrinsic_load_tcs_out_param_base_r600:=529): 'nir_intrinsic_load_tcs_out_param_base_r600', (nir_intrinsic_load_tcs_primitive_mode_amd:=530): 'nir_intrinsic_load_tcs_primitive_mode_amd', (nir_intrinsic_load_tcs_rel_patch_id_r600:=531): 'nir_intrinsic_load_tcs_rel_patch_id_r600', (nir_intrinsic_load_tcs_tess_factor_base_r600:=532): 'nir_intrinsic_load_tcs_tess_factor_base_r600', (nir_intrinsic_load_tcs_tess_levels_to_tes_amd:=533): 'nir_intrinsic_load_tcs_tess_levels_to_tes_amd', (nir_intrinsic_load_tess_coord:=534): 'nir_intrinsic_load_tess_coord', (nir_intrinsic_load_tess_coord_xy:=535): 'nir_intrinsic_load_tess_coord_xy', (nir_intrinsic_load_tess_factor_base_ir3:=536): 'nir_intrinsic_load_tess_factor_base_ir3', (nir_intrinsic_load_tess_level_inner:=537): 'nir_intrinsic_load_tess_level_inner', (nir_intrinsic_load_tess_level_inner_default:=538): 'nir_intrinsic_load_tess_level_inner_default', (nir_intrinsic_load_tess_level_outer:=539): 'nir_intrinsic_load_tess_level_outer', (nir_intrinsic_load_tess_level_outer_default:=540): 'nir_intrinsic_load_tess_level_outer_default', (nir_intrinsic_load_tess_param_base_ir3:=541): 'nir_intrinsic_load_tess_param_base_ir3', (nir_intrinsic_load_tess_param_buffer_poly:=542): 'nir_intrinsic_load_tess_param_buffer_poly', (nir_intrinsic_load_tess_rel_patch_id_amd:=543): 'nir_intrinsic_load_tess_rel_patch_id_amd', (nir_intrinsic_load_tex_sprite_mask_agx:=544): 'nir_intrinsic_load_tex_sprite_mask_agx', (nir_intrinsic_load_texture_handle_agx:=545): 'nir_intrinsic_load_texture_handle_agx', (nir_intrinsic_load_texture_scale:=546): 'nir_intrinsic_load_texture_scale', (nir_intrinsic_load_texture_size_etna:=547): 'nir_intrinsic_load_texture_size_etna', (nir_intrinsic_load_tlb_color_brcm:=548): 'nir_intrinsic_load_tlb_color_brcm', (nir_intrinsic_load_topology_id_intel:=549): 'nir_intrinsic_load_topology_id_intel', (nir_intrinsic_load_typed_buffer_amd:=550): 'nir_intrinsic_load_typed_buffer_amd', (nir_intrinsic_load_uav_ir3:=551): 'nir_intrinsic_load_uav_ir3', (nir_intrinsic_load_ubo:=552): 'nir_intrinsic_load_ubo', (nir_intrinsic_load_ubo_uniform_block_intel:=553): 'nir_intrinsic_load_ubo_uniform_block_intel', (nir_intrinsic_load_ubo_vec4:=554): 'nir_intrinsic_load_ubo_vec4', (nir_intrinsic_load_uniform:=555): 'nir_intrinsic_load_uniform', (nir_intrinsic_load_user_clip_plane:=556): 'nir_intrinsic_load_user_clip_plane', (nir_intrinsic_load_user_data_amd:=557): 'nir_intrinsic_load_user_data_amd', (nir_intrinsic_load_uvs_index_agx:=558): 'nir_intrinsic_load_uvs_index_agx', (nir_intrinsic_load_vbo_base_agx:=559): 'nir_intrinsic_load_vbo_base_agx', (nir_intrinsic_load_vector_arg_amd:=560): 'nir_intrinsic_load_vector_arg_amd', (nir_intrinsic_load_vertex_id:=561): 'nir_intrinsic_load_vertex_id', (nir_intrinsic_load_vertex_id_zero_base:=562): 'nir_intrinsic_load_vertex_id_zero_base', (nir_intrinsic_load_view_index:=563): 'nir_intrinsic_load_view_index', (nir_intrinsic_load_viewport_offset:=564): 'nir_intrinsic_load_viewport_offset', (nir_intrinsic_load_viewport_scale:=565): 'nir_intrinsic_load_viewport_scale', (nir_intrinsic_load_viewport_x_offset:=566): 'nir_intrinsic_load_viewport_x_offset', (nir_intrinsic_load_viewport_x_scale:=567): 'nir_intrinsic_load_viewport_x_scale', (nir_intrinsic_load_viewport_y_offset:=568): 'nir_intrinsic_load_viewport_y_offset', (nir_intrinsic_load_viewport_y_scale:=569): 'nir_intrinsic_load_viewport_y_scale', (nir_intrinsic_load_viewport_z_offset:=570): 'nir_intrinsic_load_viewport_z_offset', (nir_intrinsic_load_viewport_z_scale:=571): 'nir_intrinsic_load_viewport_z_scale', (nir_intrinsic_load_vs_output_buffer_poly:=572): 'nir_intrinsic_load_vs_output_buffer_poly', (nir_intrinsic_load_vs_outputs_poly:=573): 'nir_intrinsic_load_vs_outputs_poly', (nir_intrinsic_load_vs_primitive_stride_ir3:=574): 'nir_intrinsic_load_vs_primitive_stride_ir3', (nir_intrinsic_load_vs_vertex_stride_ir3:=575): 'nir_intrinsic_load_vs_vertex_stride_ir3', (nir_intrinsic_load_vulkan_descriptor:=576): 'nir_intrinsic_load_vulkan_descriptor', (nir_intrinsic_load_warp_id_nv:=577): 'nir_intrinsic_load_warp_id_nv', (nir_intrinsic_load_warps_per_sm_nv:=578): 'nir_intrinsic_load_warps_per_sm_nv', (nir_intrinsic_load_work_dim:=579): 'nir_intrinsic_load_work_dim', (nir_intrinsic_load_workgroup_id:=580): 'nir_intrinsic_load_workgroup_id', (nir_intrinsic_load_workgroup_index:=581): 'nir_intrinsic_load_workgroup_index', (nir_intrinsic_load_workgroup_num_input_primitives_amd:=582): 'nir_intrinsic_load_workgroup_num_input_primitives_amd', (nir_intrinsic_load_workgroup_num_input_vertices_amd:=583): 'nir_intrinsic_load_workgroup_num_input_vertices_amd', (nir_intrinsic_load_workgroup_size:=584): 'nir_intrinsic_load_workgroup_size', (nir_intrinsic_load_xfb_address:=585): 'nir_intrinsic_load_xfb_address', (nir_intrinsic_load_xfb_index_buffer:=586): 'nir_intrinsic_load_xfb_index_buffer', (nir_intrinsic_load_xfb_size:=587): 'nir_intrinsic_load_xfb_size', (nir_intrinsic_load_xfb_state_address_gfx12_amd:=588): 'nir_intrinsic_load_xfb_state_address_gfx12_amd', (nir_intrinsic_masked_swizzle_amd:=589): 'nir_intrinsic_masked_swizzle_amd', (nir_intrinsic_mbcnt_amd:=590): 'nir_intrinsic_mbcnt_amd', (nir_intrinsic_memcpy_deref:=591): 'nir_intrinsic_memcpy_deref', (nir_intrinsic_nop:=592): 'nir_intrinsic_nop', (nir_intrinsic_nop_amd:=593): 'nir_intrinsic_nop_amd', (nir_intrinsic_optimization_barrier_sgpr_amd:=594): 'nir_intrinsic_optimization_barrier_sgpr_amd', (nir_intrinsic_optimization_barrier_vgpr_amd:=595): 'nir_intrinsic_optimization_barrier_vgpr_amd', (nir_intrinsic_ordered_add_loop_gfx12_amd:=596): 'nir_intrinsic_ordered_add_loop_gfx12_amd', (nir_intrinsic_ordered_xfb_counter_add_gfx11_amd:=597): 'nir_intrinsic_ordered_xfb_counter_add_gfx11_amd', (nir_intrinsic_overwrite_tes_arguments_amd:=598): 'nir_intrinsic_overwrite_tes_arguments_amd', (nir_intrinsic_overwrite_vs_arguments_amd:=599): 'nir_intrinsic_overwrite_vs_arguments_amd', (nir_intrinsic_pin_cx_handle_nv:=600): 'nir_intrinsic_pin_cx_handle_nv', (nir_intrinsic_preamble_end_ir3:=601): 'nir_intrinsic_preamble_end_ir3', (nir_intrinsic_preamble_start_ir3:=602): 'nir_intrinsic_preamble_start_ir3', (nir_intrinsic_prefetch_sam_ir3:=603): 'nir_intrinsic_prefetch_sam_ir3', (nir_intrinsic_prefetch_tex_ir3:=604): 'nir_intrinsic_prefetch_tex_ir3', (nir_intrinsic_prefetch_ubo_ir3:=605): 'nir_intrinsic_prefetch_ubo_ir3', (nir_intrinsic_printf:=606): 'nir_intrinsic_printf', (nir_intrinsic_printf_abort:=607): 'nir_intrinsic_printf_abort', (nir_intrinsic_quad_ballot_agx:=608): 'nir_intrinsic_quad_ballot_agx', (nir_intrinsic_quad_broadcast:=609): 'nir_intrinsic_quad_broadcast', (nir_intrinsic_quad_swap_diagonal:=610): 'nir_intrinsic_quad_swap_diagonal', (nir_intrinsic_quad_swap_horizontal:=611): 'nir_intrinsic_quad_swap_horizontal', (nir_intrinsic_quad_swap_vertical:=612): 'nir_intrinsic_quad_swap_vertical', (nir_intrinsic_quad_swizzle_amd:=613): 'nir_intrinsic_quad_swizzle_amd', (nir_intrinsic_quad_vote_all:=614): 'nir_intrinsic_quad_vote_all', (nir_intrinsic_quad_vote_any:=615): 'nir_intrinsic_quad_vote_any', (nir_intrinsic_r600_indirect_vertex_at_index:=616): 'nir_intrinsic_r600_indirect_vertex_at_index', (nir_intrinsic_ray_intersection_ir3:=617): 'nir_intrinsic_ray_intersection_ir3', (nir_intrinsic_read_attribute_payload_intel:=618): 'nir_intrinsic_read_attribute_payload_intel', (nir_intrinsic_read_first_invocation:=619): 'nir_intrinsic_read_first_invocation', (nir_intrinsic_read_getlast_ir3:=620): 'nir_intrinsic_read_getlast_ir3', (nir_intrinsic_read_invocation:=621): 'nir_intrinsic_read_invocation', (nir_intrinsic_read_invocation_cond_ir3:=622): 'nir_intrinsic_read_invocation_cond_ir3', (nir_intrinsic_reduce:=623): 'nir_intrinsic_reduce', (nir_intrinsic_reduce_clusters_ir3:=624): 'nir_intrinsic_reduce_clusters_ir3', (nir_intrinsic_report_ray_intersection:=625): 'nir_intrinsic_report_ray_intersection', (nir_intrinsic_resource_intel:=626): 'nir_intrinsic_resource_intel', (nir_intrinsic_rotate:=627): 'nir_intrinsic_rotate', (nir_intrinsic_rq_confirm_intersection:=628): 'nir_intrinsic_rq_confirm_intersection', (nir_intrinsic_rq_generate_intersection:=629): 'nir_intrinsic_rq_generate_intersection', (nir_intrinsic_rq_initialize:=630): 'nir_intrinsic_rq_initialize', (nir_intrinsic_rq_load:=631): 'nir_intrinsic_rq_load', (nir_intrinsic_rq_proceed:=632): 'nir_intrinsic_rq_proceed', (nir_intrinsic_rq_terminate:=633): 'nir_intrinsic_rq_terminate', (nir_intrinsic_rt_execute_callable:=634): 'nir_intrinsic_rt_execute_callable', (nir_intrinsic_rt_resume:=635): 'nir_intrinsic_rt_resume', (nir_intrinsic_rt_return_amd:=636): 'nir_intrinsic_rt_return_amd', (nir_intrinsic_rt_trace_ray:=637): 'nir_intrinsic_rt_trace_ray', (nir_intrinsic_sample_mask_agx:=638): 'nir_intrinsic_sample_mask_agx', (nir_intrinsic_select_vertex_poly:=639): 'nir_intrinsic_select_vertex_poly', (nir_intrinsic_sendmsg_amd:=640): 'nir_intrinsic_sendmsg_amd', (nir_intrinsic_set_vertex_and_primitive_count:=641): 'nir_intrinsic_set_vertex_and_primitive_count', (nir_intrinsic_shader_clock:=642): 'nir_intrinsic_shader_clock', (nir_intrinsic_shared_append_amd:=643): 'nir_intrinsic_shared_append_amd', (nir_intrinsic_shared_atomic:=644): 'nir_intrinsic_shared_atomic', (nir_intrinsic_shared_atomic_swap:=645): 'nir_intrinsic_shared_atomic_swap', (nir_intrinsic_shared_consume_amd:=646): 'nir_intrinsic_shared_consume_amd', (nir_intrinsic_shuffle:=647): 'nir_intrinsic_shuffle', (nir_intrinsic_shuffle_down:=648): 'nir_intrinsic_shuffle_down', (nir_intrinsic_shuffle_down_uniform_ir3:=649): 'nir_intrinsic_shuffle_down_uniform_ir3', (nir_intrinsic_shuffle_up:=650): 'nir_intrinsic_shuffle_up', (nir_intrinsic_shuffle_up_uniform_ir3:=651): 'nir_intrinsic_shuffle_up_uniform_ir3', (nir_intrinsic_shuffle_xor:=652): 'nir_intrinsic_shuffle_xor', (nir_intrinsic_shuffle_xor_uniform_ir3:=653): 'nir_intrinsic_shuffle_xor_uniform_ir3', (nir_intrinsic_sleep_amd:=654): 'nir_intrinsic_sleep_amd', (nir_intrinsic_sparse_residency_code_and:=655): 'nir_intrinsic_sparse_residency_code_and', (nir_intrinsic_ssa_bar_nv:=656): 'nir_intrinsic_ssa_bar_nv', (nir_intrinsic_ssbo_atomic:=657): 'nir_intrinsic_ssbo_atomic', (nir_intrinsic_ssbo_atomic_ir3:=658): 'nir_intrinsic_ssbo_atomic_ir3', (nir_intrinsic_ssbo_atomic_swap:=659): 'nir_intrinsic_ssbo_atomic_swap', (nir_intrinsic_ssbo_atomic_swap_ir3:=660): 'nir_intrinsic_ssbo_atomic_swap_ir3', (nir_intrinsic_stack_map_agx:=661): 'nir_intrinsic_stack_map_agx', (nir_intrinsic_stack_unmap_agx:=662): 'nir_intrinsic_stack_unmap_agx', (nir_intrinsic_store_agx:=663): 'nir_intrinsic_store_agx', (nir_intrinsic_store_buffer_amd:=664): 'nir_intrinsic_store_buffer_amd', (nir_intrinsic_store_combined_output_pan:=665): 'nir_intrinsic_store_combined_output_pan', (nir_intrinsic_store_const_ir3:=666): 'nir_intrinsic_store_const_ir3', (nir_intrinsic_store_deref:=667): 'nir_intrinsic_store_deref', (nir_intrinsic_store_deref_block_intel:=668): 'nir_intrinsic_store_deref_block_intel', (nir_intrinsic_store_global:=669): 'nir_intrinsic_store_global', (nir_intrinsic_store_global_2x32:=670): 'nir_intrinsic_store_global_2x32', (nir_intrinsic_store_global_amd:=671): 'nir_intrinsic_store_global_amd', (nir_intrinsic_store_global_block_intel:=672): 'nir_intrinsic_store_global_block_intel', (nir_intrinsic_store_global_etna:=673): 'nir_intrinsic_store_global_etna', (nir_intrinsic_store_global_ir3:=674): 'nir_intrinsic_store_global_ir3', (nir_intrinsic_store_hit_attrib_amd:=675): 'nir_intrinsic_store_hit_attrib_amd', (nir_intrinsic_store_local_pixel_agx:=676): 'nir_intrinsic_store_local_pixel_agx', (nir_intrinsic_store_local_shared_r600:=677): 'nir_intrinsic_store_local_shared_r600', (nir_intrinsic_store_output:=678): 'nir_intrinsic_store_output', (nir_intrinsic_store_per_primitive_output:=679): 'nir_intrinsic_store_per_primitive_output', (nir_intrinsic_store_per_primitive_payload_intel:=680): 'nir_intrinsic_store_per_primitive_payload_intel', (nir_intrinsic_store_per_vertex_output:=681): 'nir_intrinsic_store_per_vertex_output', (nir_intrinsic_store_per_view_output:=682): 'nir_intrinsic_store_per_view_output', (nir_intrinsic_store_preamble:=683): 'nir_intrinsic_store_preamble', (nir_intrinsic_store_raw_output_pan:=684): 'nir_intrinsic_store_raw_output_pan', (nir_intrinsic_store_reg:=685): 'nir_intrinsic_store_reg', (nir_intrinsic_store_reg_indirect:=686): 'nir_intrinsic_store_reg_indirect', (nir_intrinsic_store_scalar_arg_amd:=687): 'nir_intrinsic_store_scalar_arg_amd', (nir_intrinsic_store_scratch:=688): 'nir_intrinsic_store_scratch', (nir_intrinsic_store_shared:=689): 'nir_intrinsic_store_shared', (nir_intrinsic_store_shared2_amd:=690): 'nir_intrinsic_store_shared2_amd', (nir_intrinsic_store_shared_block_intel:=691): 'nir_intrinsic_store_shared_block_intel', (nir_intrinsic_store_shared_ir3:=692): 'nir_intrinsic_store_shared_ir3', (nir_intrinsic_store_shared_unlock_nv:=693): 'nir_intrinsic_store_shared_unlock_nv', (nir_intrinsic_store_ssbo:=694): 'nir_intrinsic_store_ssbo', (nir_intrinsic_store_ssbo_block_intel:=695): 'nir_intrinsic_store_ssbo_block_intel', (nir_intrinsic_store_ssbo_intel:=696): 'nir_intrinsic_store_ssbo_intel', (nir_intrinsic_store_ssbo_ir3:=697): 'nir_intrinsic_store_ssbo_ir3', (nir_intrinsic_store_stack:=698): 'nir_intrinsic_store_stack', (nir_intrinsic_store_task_payload:=699): 'nir_intrinsic_store_task_payload', (nir_intrinsic_store_tf_r600:=700): 'nir_intrinsic_store_tf_r600', (nir_intrinsic_store_tlb_sample_color_v3d:=701): 'nir_intrinsic_store_tlb_sample_color_v3d', (nir_intrinsic_store_uvs_agx:=702): 'nir_intrinsic_store_uvs_agx', (nir_intrinsic_store_vector_arg_amd:=703): 'nir_intrinsic_store_vector_arg_amd', (nir_intrinsic_store_zs_agx:=704): 'nir_intrinsic_store_zs_agx', (nir_intrinsic_strict_wqm_coord_amd:=705): 'nir_intrinsic_strict_wqm_coord_amd', (nir_intrinsic_subfm_nv:=706): 'nir_intrinsic_subfm_nv', (nir_intrinsic_suclamp_nv:=707): 'nir_intrinsic_suclamp_nv', (nir_intrinsic_sueau_nv:=708): 'nir_intrinsic_sueau_nv', (nir_intrinsic_suldga_nv:=709): 'nir_intrinsic_suldga_nv', (nir_intrinsic_sustga_nv:=710): 'nir_intrinsic_sustga_nv', (nir_intrinsic_task_payload_atomic:=711): 'nir_intrinsic_task_payload_atomic', (nir_intrinsic_task_payload_atomic_swap:=712): 'nir_intrinsic_task_payload_atomic_swap', (nir_intrinsic_terminate:=713): 'nir_intrinsic_terminate', (nir_intrinsic_terminate_if:=714): 'nir_intrinsic_terminate_if', (nir_intrinsic_terminate_ray:=715): 'nir_intrinsic_terminate_ray', (nir_intrinsic_trace_ray:=716): 'nir_intrinsic_trace_ray', (nir_intrinsic_trace_ray_intel:=717): 'nir_intrinsic_trace_ray_intel', (nir_intrinsic_unit_test_amd:=718): 'nir_intrinsic_unit_test_amd', (nir_intrinsic_unit_test_divergent_amd:=719): 'nir_intrinsic_unit_test_divergent_amd', (nir_intrinsic_unit_test_uniform_amd:=720): 'nir_intrinsic_unit_test_uniform_amd', (nir_intrinsic_unpin_cx_handle_nv:=721): 'nir_intrinsic_unpin_cx_handle_nv', (nir_intrinsic_use:=722): 'nir_intrinsic_use', (nir_intrinsic_vild_nv:=723): 'nir_intrinsic_vild_nv', (nir_intrinsic_vote_all:=724): 'nir_intrinsic_vote_all', (nir_intrinsic_vote_any:=725): 'nir_intrinsic_vote_any', (nir_intrinsic_vote_feq:=726): 'nir_intrinsic_vote_feq', (nir_intrinsic_vote_ieq:=727): 'nir_intrinsic_vote_ieq', (nir_intrinsic_vulkan_resource_index:=728): 'nir_intrinsic_vulkan_resource_index', (nir_intrinsic_vulkan_resource_reindex:=729): 'nir_intrinsic_vulkan_resource_reindex', (nir_intrinsic_write_invocation_amd:=730): 'nir_intrinsic_write_invocation_amd', (nir_intrinsic_xfb_counter_sub_gfx11_amd:=731): 'nir_intrinsic_xfb_counter_sub_gfx11_amd', (nir_last_intrinsic:=731): 'nir_last_intrinsic', (nir_num_intrinsics:=732): 'nir_num_intrinsics'}
struct_nir_intrinsic_instr.register_fields([('instr', nir_instr, 0), ('intrinsic', ctypes.c_uint32, 32), ('_def', nir_def, 40), ('num_components', uint8_t, 72), ('const_index', c.Array[ctypes.c_int32, Literal[8]], 76), ('name', c.POINTER[ctypes.c_char], 112), ('src', c.Array[nir_src, Literal[0]], 120)])
nir_intrinsic_instr: TypeAlias = struct_nir_intrinsic_instr
nir_memory_semantics: dict[int, str] = {(NIR_MEMORY_ACQUIRE:=1): 'NIR_MEMORY_ACQUIRE', (NIR_MEMORY_RELEASE:=2): 'NIR_MEMORY_RELEASE', (NIR_MEMORY_ACQ_REL:=3): 'NIR_MEMORY_ACQ_REL', (NIR_MEMORY_MAKE_AVAILABLE:=4): 'NIR_MEMORY_MAKE_AVAILABLE', (NIR_MEMORY_MAKE_VISIBLE:=8): 'NIR_MEMORY_MAKE_VISIBLE'}
nir_intrinsic_semantic_flag: dict[int, str] = {(NIR_INTRINSIC_CAN_ELIMINATE:=1): 'NIR_INTRINSIC_CAN_ELIMINATE', (NIR_INTRINSIC_CAN_REORDER:=2): 'NIR_INTRINSIC_CAN_REORDER', (NIR_INTRINSIC_SUBGROUP:=4): 'NIR_INTRINSIC_SUBGROUP', (NIR_INTRINSIC_QUADGROUP:=8): 'NIR_INTRINSIC_QUADGROUP'}
@c.record
class struct_nir_io_semantics(c.Struct):
  SIZE = 4
  location: int
  num_slots: int
  dual_source_blend_index: int
  fb_fetch_output: int
  fb_fetch_output_coherent: int
  gs_streams: int
  medium_precision: int
  per_view: int
  high_16bits: int
  high_dvec2: int
  no_varying: int
  no_sysval_output: int
  interp_explicit_strict: int
  _pad: int
struct_nir_io_semantics.register_fields([('location', ctypes.c_uint32, 0, 7, 0), ('num_slots', ctypes.c_uint32, 0, 6, 7), ('dual_source_blend_index', ctypes.c_uint32, 1, 1, 5), ('fb_fetch_output', ctypes.c_uint32, 1, 1, 6), ('fb_fetch_output_coherent', ctypes.c_uint32, 1, 1, 7), ('gs_streams', ctypes.c_uint32, 2, 8, 0), ('medium_precision', ctypes.c_uint32, 3, 1, 0), ('per_view', ctypes.c_uint32, 3, 1, 1), ('high_16bits', ctypes.c_uint32, 3, 1, 2), ('high_dvec2', ctypes.c_uint32, 3, 1, 3), ('no_varying', ctypes.c_uint32, 3, 1, 4), ('no_sysval_output', ctypes.c_uint32, 3, 1, 5), ('interp_explicit_strict', ctypes.c_uint32, 3, 1, 6), ('_pad', ctypes.c_uint32, 3, 1, 7)])
nir_io_semantics: TypeAlias = struct_nir_io_semantics
@c.record
class struct_nir_io_xfb(c.Struct):
  SIZE = 4
  out: c.Array[struct_nir_io_xfb_out, Literal[2]]
@c.record
class struct_nir_io_xfb_out(c.Struct):
  SIZE = 2
  num_components: int
  buffer: int
  offset: int
struct_nir_io_xfb_out.register_fields([('num_components', uint8_t, 0, 4, 0), ('buffer', uint8_t, 0, 4, 4), ('offset', uint8_t, 1)])
struct_nir_io_xfb.register_fields([('out', c.Array[struct_nir_io_xfb_out, Literal[2]], 0)])
nir_io_xfb: TypeAlias = struct_nir_io_xfb
@dll.bind(ctypes.c_uint32, c.POINTER[nir_intrinsic_instr])
def nir_instr_xfb_write_mask(instr:c.POINTER[nir_intrinsic_instr]) -> int: ...
@c.record
class struct_nir_intrinsic_info(c.Struct):
  SIZE = 112
  name: c.POINTER[ctypes.c_char]
  num_srcs: int
  src_components: c.Array[ctypes.c_byte, Literal[11]]
  has_dest: bool
  dest_components: int
  dest_bit_sizes: int
  bit_size_src: int
  num_indices: int
  indices: c.Array[ctypes.c_ubyte, Literal[8]]
  index_map: c.Array[ctypes.c_ubyte, Literal[75]]
  flags: int
struct_nir_intrinsic_info.register_fields([('name', c.POINTER[ctypes.c_char], 0), ('num_srcs', uint8_t, 8), ('src_components', c.Array[int8_t, Literal[11]], 9), ('has_dest', ctypes.c_bool, 20), ('dest_components', uint8_t, 21), ('dest_bit_sizes', uint8_t, 22), ('bit_size_src', int8_t, 23), ('num_indices', uint8_t, 24), ('indices', c.Array[uint8_t, Literal[8]], 25), ('index_map', c.Array[uint8_t, Literal[75]], 33), ('flags', ctypes.c_uint32, 108)])
nir_intrinsic_info: TypeAlias = struct_nir_intrinsic_info
try: nir_intrinsic_infos = c.Array[nir_intrinsic_info, Literal[732]].in_dll(dll, 'nir_intrinsic_infos') # type: ignore
except (ValueError,AttributeError): pass
@dll.bind(ctypes.c_uint32, c.POINTER[nir_intrinsic_instr], ctypes.c_uint32)
def nir_intrinsic_src_components(intr:c.POINTER[nir_intrinsic_instr], srcn:int) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_intrinsic_instr])
def nir_intrinsic_dest_components(intr:c.POINTER[nir_intrinsic_instr]) -> int: ...
@dll.bind(ctypes.c_ubyte, c.POINTER[nir_intrinsic_instr], ctypes.c_uint32)
def nir_intrinsic_instr_src_type(intrin:c.POINTER[nir_intrinsic_instr], src:int) -> ctypes.c_ubyte: ...
@dll.bind(ctypes.c_ubyte, c.POINTER[nir_intrinsic_instr])
def nir_intrinsic_instr_dest_type(intrin:c.POINTER[nir_intrinsic_instr]) -> ctypes.c_ubyte: ...
@dll.bind(None, c.POINTER[nir_intrinsic_instr], c.POINTER[nir_intrinsic_instr])
def nir_intrinsic_copy_const_indices(dst:c.POINTER[nir_intrinsic_instr], src:c.POINTER[nir_intrinsic_instr]) -> None: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_intrinsic_instr])
def nir_image_intrinsic_coord_components(instr:c.POINTER[nir_intrinsic_instr]) -> int: ...
@dll.bind(None, c.POINTER[nir_intrinsic_instr], c.POINTER[nir_def], ctypes.c_bool)
def nir_rewrite_image_intrinsic(instr:c.POINTER[nir_intrinsic_instr], handle:c.POINTER[nir_def], bindless:bool) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_intrinsic_instr])
def nir_intrinsic_can_reorder(instr:c.POINTER[nir_intrinsic_instr]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_intrinsic_instr])
def nir_intrinsic_writes_external_memory(instr:c.POINTER[nir_intrinsic_instr]) -> bool: ...
enum_nir_tex_src_type: dict[int, str] = {(nir_tex_src_coord:=0): 'nir_tex_src_coord', (nir_tex_src_projector:=1): 'nir_tex_src_projector', (nir_tex_src_comparator:=2): 'nir_tex_src_comparator', (nir_tex_src_offset:=3): 'nir_tex_src_offset', (nir_tex_src_bias:=4): 'nir_tex_src_bias', (nir_tex_src_lod:=5): 'nir_tex_src_lod', (nir_tex_src_min_lod:=6): 'nir_tex_src_min_lod', (nir_tex_src_lod_bias_min_agx:=7): 'nir_tex_src_lod_bias_min_agx', (nir_tex_src_ms_index:=8): 'nir_tex_src_ms_index', (nir_tex_src_ms_mcs_intel:=9): 'nir_tex_src_ms_mcs_intel', (nir_tex_src_ddx:=10): 'nir_tex_src_ddx', (nir_tex_src_ddy:=11): 'nir_tex_src_ddy', (nir_tex_src_texture_deref:=12): 'nir_tex_src_texture_deref', (nir_tex_src_sampler_deref:=13): 'nir_tex_src_sampler_deref', (nir_tex_src_texture_offset:=14): 'nir_tex_src_texture_offset', (nir_tex_src_sampler_offset:=15): 'nir_tex_src_sampler_offset', (nir_tex_src_texture_handle:=16): 'nir_tex_src_texture_handle', (nir_tex_src_sampler_handle:=17): 'nir_tex_src_sampler_handle', (nir_tex_src_sampler_deref_intrinsic:=18): 'nir_tex_src_sampler_deref_intrinsic', (nir_tex_src_texture_deref_intrinsic:=19): 'nir_tex_src_texture_deref_intrinsic', (nir_tex_src_plane:=20): 'nir_tex_src_plane', (nir_tex_src_backend1:=21): 'nir_tex_src_backend1', (nir_tex_src_backend2:=22): 'nir_tex_src_backend2', (nir_num_tex_src_types:=23): 'nir_num_tex_src_types'}
nir_tex_src_type: TypeAlias = ctypes.c_uint32
@c.record
class struct_nir_tex_src(c.Struct):
  SIZE = 40
  src: struct_nir_src
  src_type: int
struct_nir_tex_src.register_fields([('src', nir_src, 0), ('src_type', nir_tex_src_type, 32)])
nir_tex_src: TypeAlias = struct_nir_tex_src
enum_nir_texop: dict[int, str] = {(nir_texop_tex:=0): 'nir_texop_tex', (nir_texop_txb:=1): 'nir_texop_txb', (nir_texop_txl:=2): 'nir_texop_txl', (nir_texop_txd:=3): 'nir_texop_txd', (nir_texop_txf:=4): 'nir_texop_txf', (nir_texop_txf_ms:=5): 'nir_texop_txf_ms', (nir_texop_txf_ms_fb:=6): 'nir_texop_txf_ms_fb', (nir_texop_txf_ms_mcs_intel:=7): 'nir_texop_txf_ms_mcs_intel', (nir_texop_txs:=8): 'nir_texop_txs', (nir_texop_lod:=9): 'nir_texop_lod', (nir_texop_tg4:=10): 'nir_texop_tg4', (nir_texop_query_levels:=11): 'nir_texop_query_levels', (nir_texop_texture_samples:=12): 'nir_texop_texture_samples', (nir_texop_samples_identical:=13): 'nir_texop_samples_identical', (nir_texop_tex_prefetch:=14): 'nir_texop_tex_prefetch', (nir_texop_lod_bias:=15): 'nir_texop_lod_bias', (nir_texop_fragment_fetch_amd:=16): 'nir_texop_fragment_fetch_amd', (nir_texop_fragment_mask_fetch_amd:=17): 'nir_texop_fragment_mask_fetch_amd', (nir_texop_descriptor_amd:=18): 'nir_texop_descriptor_amd', (nir_texop_sampler_descriptor_amd:=19): 'nir_texop_sampler_descriptor_amd', (nir_texop_image_min_lod_agx:=20): 'nir_texop_image_min_lod_agx', (nir_texop_has_custom_border_color_agx:=21): 'nir_texop_has_custom_border_color_agx', (nir_texop_custom_border_color_agx:=22): 'nir_texop_custom_border_color_agx', (nir_texop_hdr_dim_nv:=23): 'nir_texop_hdr_dim_nv', (nir_texop_tex_type_nv:=24): 'nir_texop_tex_type_nv'}
nir_texop: TypeAlias = ctypes.c_uint32
@c.record
class struct_nir_tex_instr(c.Struct):
  SIZE = 128
  instr: struct_nir_instr
  sampler_dim: int
  dest_type: int
  op: int
  _def: struct_nir_def
  src: c.POINTER[struct_nir_tex_src]
  num_srcs: int
  coord_components: int
  is_array: bool
  is_shadow: bool
  is_new_style_shadow: bool
  is_sparse: bool
  component: int
  array_is_lowered_cube: int
  is_gather_implicit_lod: int
  skip_helpers: int
  tg4_offsets: c.Array[c.Array[ctypes.c_byte, Literal[2]], Literal[4]]
  texture_non_uniform: bool
  sampler_non_uniform: bool
  offset_non_uniform: bool
  texture_index: int
  sampler_index: int
  backend_flags: int
enum_glsl_sampler_dim: dict[int, str] = {(GLSL_SAMPLER_DIM_1D:=0): 'GLSL_SAMPLER_DIM_1D', (GLSL_SAMPLER_DIM_2D:=1): 'GLSL_SAMPLER_DIM_2D', (GLSL_SAMPLER_DIM_3D:=2): 'GLSL_SAMPLER_DIM_3D', (GLSL_SAMPLER_DIM_CUBE:=3): 'GLSL_SAMPLER_DIM_CUBE', (GLSL_SAMPLER_DIM_RECT:=4): 'GLSL_SAMPLER_DIM_RECT', (GLSL_SAMPLER_DIM_BUF:=5): 'GLSL_SAMPLER_DIM_BUF', (GLSL_SAMPLER_DIM_EXTERNAL:=6): 'GLSL_SAMPLER_DIM_EXTERNAL', (GLSL_SAMPLER_DIM_MS:=7): 'GLSL_SAMPLER_DIM_MS', (GLSL_SAMPLER_DIM_SUBPASS:=8): 'GLSL_SAMPLER_DIM_SUBPASS', (GLSL_SAMPLER_DIM_SUBPASS_MS:=9): 'GLSL_SAMPLER_DIM_SUBPASS_MS'}
struct_nir_tex_instr.register_fields([('instr', nir_instr, 0), ('sampler_dim', ctypes.c_uint32, 32), ('dest_type', ctypes.c_ubyte, 36), ('op', nir_texop, 40), ('_def', nir_def, 48), ('src', c.POINTER[nir_tex_src], 80), ('num_srcs', ctypes.c_uint32, 88), ('coord_components', ctypes.c_uint32, 92), ('is_array', ctypes.c_bool, 96), ('is_shadow', ctypes.c_bool, 97), ('is_new_style_shadow', ctypes.c_bool, 98), ('is_sparse', ctypes.c_bool, 99), ('component', ctypes.c_uint32, 100, 2, 0), ('array_is_lowered_cube', ctypes.c_uint32, 100, 1, 2), ('is_gather_implicit_lod', ctypes.c_uint32, 100, 1, 3), ('skip_helpers', ctypes.c_uint32, 100, 1, 4), ('tg4_offsets', c.Array[c.Array[int8_t, Literal[2]], Literal[4]], 101), ('texture_non_uniform', ctypes.c_bool, 109), ('sampler_non_uniform', ctypes.c_bool, 110), ('offset_non_uniform', ctypes.c_bool, 111), ('texture_index', ctypes.c_uint32, 112), ('sampler_index', ctypes.c_uint32, 116), ('backend_flags', uint32_t, 120)])
nir_tex_instr: TypeAlias = struct_nir_tex_instr
@dll.bind(ctypes.c_bool, c.POINTER[nir_tex_instr])
def nir_tex_instr_need_sampler(instr:c.POINTER[nir_tex_instr]) -> bool: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_tex_instr])
def nir_tex_instr_result_size(instr:c.POINTER[nir_tex_instr]) -> int: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_tex_instr])
def nir_tex_instr_is_query(instr:c.POINTER[nir_tex_instr]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_tex_instr])
def nir_tex_instr_has_implicit_derivative(instr:c.POINTER[nir_tex_instr]) -> bool: ...
@dll.bind(ctypes.c_ubyte, c.POINTER[nir_tex_instr], ctypes.c_uint32)
def nir_tex_instr_src_type(instr:c.POINTER[nir_tex_instr], src:int) -> ctypes.c_ubyte: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_tex_instr], ctypes.c_uint32)
def nir_tex_instr_src_size(instr:c.POINTER[nir_tex_instr], src:int) -> int: ...
@dll.bind(None, c.POINTER[nir_tex_instr], nir_tex_src_type, c.POINTER[nir_def])
def nir_tex_instr_add_src(tex:c.POINTER[nir_tex_instr], src_type:nir_tex_src_type, src:c.POINTER[nir_def]) -> None: ...
@dll.bind(None, c.POINTER[nir_tex_instr], ctypes.c_uint32)
def nir_tex_instr_remove_src(tex:c.POINTER[nir_tex_instr], src_idx:int) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_tex_instr])
def nir_tex_instr_has_explicit_tg4_offsets(tex:c.POINTER[nir_tex_instr]) -> bool: ...
@c.record
class struct_nir_load_const_instr(c.Struct):
  SIZE = 64
  instr: struct_nir_instr
  _def: struct_nir_def
  value: c.Array[nir_const_value, Literal[0]]
struct_nir_load_const_instr.register_fields([('instr', nir_instr, 0), ('_def', nir_def, 32), ('value', c.Array[nir_const_value, Literal[0]], 64)])
nir_load_const_instr: TypeAlias = struct_nir_load_const_instr
nir_jump_type: dict[int, str] = {(nir_jump_return:=0): 'nir_jump_return', (nir_jump_halt:=1): 'nir_jump_halt', (nir_jump_break:=2): 'nir_jump_break', (nir_jump_continue:=3): 'nir_jump_continue', (nir_jump_goto:=4): 'nir_jump_goto', (nir_jump_goto_if:=5): 'nir_jump_goto_if'}
@c.record
class struct_nir_jump_instr(c.Struct):
  SIZE = 88
  instr: struct_nir_instr
  type: int
  condition: struct_nir_src
  target: c.POINTER[struct_nir_block]
  else_target: c.POINTER[struct_nir_block]
struct_nir_jump_instr.register_fields([('instr', nir_instr, 0), ('type', ctypes.c_uint32, 32), ('condition', nir_src, 40), ('target', c.POINTER[nir_block], 72), ('else_target', c.POINTER[nir_block], 80)])
nir_jump_instr: TypeAlias = struct_nir_jump_instr
@c.record
class struct_nir_undef_instr(c.Struct):
  SIZE = 64
  instr: struct_nir_instr
  _def: struct_nir_def
struct_nir_undef_instr.register_fields([('instr', nir_instr, 0), ('_def', nir_def, 32)])
nir_undef_instr: TypeAlias = struct_nir_undef_instr
@c.record
class struct_nir_phi_src(c.Struct):
  SIZE = 56
  node: struct_exec_node
  pred: c.POINTER[struct_nir_block]
  src: struct_nir_src
struct_nir_phi_src.register_fields([('node', struct_exec_node, 0), ('pred', c.POINTER[nir_block], 16), ('src', nir_src, 24)])
nir_phi_src: TypeAlias = struct_nir_phi_src
@c.record
class struct_nir_phi_instr(c.Struct):
  SIZE = 96
  instr: struct_nir_instr
  srcs: struct_exec_list
  _def: struct_nir_def
struct_nir_phi_instr.register_fields([('instr', nir_instr, 0), ('srcs', struct_exec_list, 32), ('_def', nir_def, 64)])
nir_phi_instr: TypeAlias = struct_nir_phi_instr
@c.record
class struct_nir_parallel_copy_entry(c.Struct):
  SIZE = 88
  node: struct_exec_node
  src_is_reg: bool
  dest_is_reg: bool
  src: struct_nir_src
  dest: struct_nir_parallel_copy_entry_dest
@c.record
class struct_nir_parallel_copy_entry_dest(c.Struct):
  SIZE = 32
  _def: struct_nir_def
  reg: struct_nir_src
struct_nir_parallel_copy_entry_dest.register_fields([('_def', nir_def, 0), ('reg', nir_src, 0)])
struct_nir_parallel_copy_entry.register_fields([('node', struct_exec_node, 0), ('src_is_reg', ctypes.c_bool, 16), ('dest_is_reg', ctypes.c_bool, 17), ('src', nir_src, 24), ('dest', struct_nir_parallel_copy_entry_dest, 56)])
nir_parallel_copy_entry: TypeAlias = struct_nir_parallel_copy_entry
@c.record
class struct_nir_parallel_copy_instr(c.Struct):
  SIZE = 64
  instr: struct_nir_instr
  entries: struct_exec_list
struct_nir_parallel_copy_instr.register_fields([('instr', nir_instr, 0), ('entries', struct_exec_list, 32)])
nir_parallel_copy_instr: TypeAlias = struct_nir_parallel_copy_instr
@c.record
class struct_nir_instr_debug_info(c.Struct):
  SIZE = 64
  filename: c.POINTER[ctypes.c_char]
  line: int
  column: int
  spirv_offset: int
  nir_line: int
  variable_name: c.POINTER[ctypes.c_char]
  instr: struct_nir_instr
struct_nir_instr_debug_info.register_fields([('filename', c.POINTER[ctypes.c_char], 0), ('line', uint32_t, 8), ('column', uint32_t, 12), ('spirv_offset', uint32_t, 16), ('nir_line', uint32_t, 20), ('variable_name', c.POINTER[ctypes.c_char], 24), ('instr', nir_instr, 32)])
nir_instr_debug_info: TypeAlias = struct_nir_instr_debug_info
@c.record
class struct_nir_scalar(c.Struct):
  SIZE = 16
  _def: c.POINTER[struct_nir_def]
  comp: int
struct_nir_scalar.register_fields([('_def', c.POINTER[nir_def], 0), ('comp', ctypes.c_uint32, 8)])
nir_scalar: TypeAlias = struct_nir_scalar
@dll.bind(nir_scalar, nir_scalar)
def nir_scalar_chase_movs(s:nir_scalar) -> nir_scalar: ...
@c.record
class struct_nir_binding(c.Struct):
  SIZE = 168
  success: bool
  var: c.POINTER[struct_nir_variable]
  desc_set: int
  binding: int
  num_indices: int
  indices: c.Array[struct_nir_src, Literal[4]]
  read_first_invocation: bool
struct_nir_binding.register_fields([('success', ctypes.c_bool, 0), ('var', c.POINTER[nir_variable], 8), ('desc_set', ctypes.c_uint32, 16), ('binding', ctypes.c_uint32, 20), ('num_indices', ctypes.c_uint32, 24), ('indices', c.Array[nir_src, Literal[4]], 32), ('read_first_invocation', ctypes.c_bool, 160)])
nir_binding: TypeAlias = struct_nir_binding
@dll.bind(nir_binding, nir_src)
def nir_chase_binding(rsrc:nir_src) -> nir_binding: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], nir_binding)
def nir_get_binding_variable(shader:c.POINTER[nir_shader], binding:nir_binding) -> c.POINTER[nir_variable]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_block])
def nir_block_contains_work(block:c.POINTER[nir_block]) -> bool: ...
nir_selection_control: dict[int, str] = {(nir_selection_control_none:=0): 'nir_selection_control_none', (nir_selection_control_flatten:=1): 'nir_selection_control_flatten', (nir_selection_control_dont_flatten:=2): 'nir_selection_control_dont_flatten', (nir_selection_control_divergent_always_taken:=3): 'nir_selection_control_divergent_always_taken'}
@c.record
class struct_nir_if(c.Struct):
  SIZE = 136
  cf_node: struct_nir_cf_node
  condition: struct_nir_src
  control: int
  then_list: struct_exec_list
  else_list: struct_exec_list
struct_nir_if.register_fields([('cf_node', nir_cf_node, 0), ('condition', nir_src, 32), ('control', ctypes.c_uint32, 64), ('then_list', struct_exec_list, 72), ('else_list', struct_exec_list, 104)])
nir_if: TypeAlias = struct_nir_if
@c.record
class struct_nir_loop_terminator(c.Struct):
  SIZE = 56
  nif: c.POINTER[struct_nir_if]
  conditional_instr: c.POINTER[struct_nir_instr]
  break_block: c.POINTER[struct_nir_block]
  continue_from_block: c.POINTER[struct_nir_block]
  continue_from_then: bool
  induction_rhs: bool
  exact_trip_count_unknown: bool
  loop_terminator_link: struct_list_head
struct_nir_loop_terminator.register_fields([('nif', c.POINTER[nir_if], 0), ('conditional_instr', c.POINTER[nir_instr], 8), ('break_block', c.POINTER[nir_block], 16), ('continue_from_block', c.POINTER[nir_block], 24), ('continue_from_then', ctypes.c_bool, 32), ('induction_rhs', ctypes.c_bool, 33), ('exact_trip_count_unknown', ctypes.c_bool, 34), ('loop_terminator_link', struct_list_head, 40)])
nir_loop_terminator: TypeAlias = struct_nir_loop_terminator
@c.record
class struct_nir_loop_induction_variable(c.Struct):
  SIZE = 32
  basis: c.POINTER[struct_nir_def]
  _def: c.POINTER[struct_nir_def]
  init_src: c.POINTER[struct_nir_src]
  update_src: c.POINTER[struct_nir_alu_src]
struct_nir_loop_induction_variable.register_fields([('basis', c.POINTER[nir_def], 0), ('_def', c.POINTER[nir_def], 8), ('init_src', c.POINTER[nir_src], 16), ('update_src', c.POINTER[nir_alu_src], 24)])
nir_loop_induction_variable: TypeAlias = struct_nir_loop_induction_variable
@c.record
class struct_nir_loop_info(c.Struct):
  SIZE = 56
  instr_cost: int
  has_soft_fp64: bool
  guessed_trip_count: int
  max_trip_count: int
  exact_trip_count_known: bool
  force_unroll: bool
  complex_loop: bool
  limiting_terminator: c.POINTER[struct_nir_loop_terminator]
  loop_terminator_list: struct_list_head
  induction_vars: c.POINTER[struct_hash_table]
@c.record
class struct_hash_table(c.Struct):
  SIZE = 72
  table: c.POINTER[struct_hash_entry]
  key_hash_function: c.CFUNCTYPE[ctypes.c_uint32, [ctypes.c_void_p]]
  key_equals_function: c.CFUNCTYPE[ctypes.c_bool, [ctypes.c_void_p, ctypes.c_void_p]]
  deleted_key: ctypes.c_void_p
  size: int
  rehash: int
  size_magic: int
  rehash_magic: int
  max_entries: int
  size_index: int
  entries: int
  deleted_entries: int
@c.record
class struct_hash_entry(c.Struct):
  SIZE = 24
  hash: int
  key: ctypes.c_void_p
  data: ctypes.c_void_p
struct_hash_entry.register_fields([('hash', uint32_t, 0), ('key', ctypes.c_void_p, 8), ('data', ctypes.c_void_p, 16)])
struct_hash_table.register_fields([('table', c.POINTER[struct_hash_entry], 0), ('key_hash_function', c.CFUNCTYPE[uint32_t, [ctypes.c_void_p]], 8), ('key_equals_function', c.CFUNCTYPE[ctypes.c_bool, [ctypes.c_void_p, ctypes.c_void_p]], 16), ('deleted_key', ctypes.c_void_p, 24), ('size', uint32_t, 32), ('rehash', uint32_t, 36), ('size_magic', uint64_t, 40), ('rehash_magic', uint64_t, 48), ('max_entries', uint32_t, 56), ('size_index', uint32_t, 60), ('entries', uint32_t, 64), ('deleted_entries', uint32_t, 68)])
struct_nir_loop_info.register_fields([('instr_cost', ctypes.c_uint32, 0), ('has_soft_fp64', ctypes.c_bool, 4), ('guessed_trip_count', ctypes.c_uint32, 8), ('max_trip_count', ctypes.c_uint32, 12), ('exact_trip_count_known', ctypes.c_bool, 16), ('force_unroll', ctypes.c_bool, 17), ('complex_loop', ctypes.c_bool, 18), ('limiting_terminator', c.POINTER[nir_loop_terminator], 24), ('loop_terminator_list', struct_list_head, 32), ('induction_vars', c.POINTER[struct_hash_table], 48)])
nir_loop_info: TypeAlias = struct_nir_loop_info
nir_loop_control: dict[int, str] = {(nir_loop_control_none:=0): 'nir_loop_control_none', (nir_loop_control_unroll:=1): 'nir_loop_control_unroll', (nir_loop_control_dont_unroll:=2): 'nir_loop_control_dont_unroll'}
@c.record
class struct_nir_loop(c.Struct):
  SIZE = 112
  cf_node: struct_nir_cf_node
  body: struct_exec_list
  continue_list: struct_exec_list
  info: c.POINTER[struct_nir_loop_info]
  control: int
  partially_unrolled: bool
  divergent_continue: bool
  divergent_break: bool
struct_nir_loop.register_fields([('cf_node', nir_cf_node, 0), ('body', struct_exec_list, 32), ('continue_list', struct_exec_list, 64), ('info', c.POINTER[nir_loop_info], 96), ('control', ctypes.c_uint32, 104), ('partially_unrolled', ctypes.c_bool, 108), ('divergent_continue', ctypes.c_bool, 109), ('divergent_break', ctypes.c_bool, 110)])
nir_loop: TypeAlias = struct_nir_loop
nir_intrin_filter_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_intrinsic_instr], ctypes.c_void_p]]
nir_vectorize_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_ubyte, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
@dll.bind(None, c.POINTER[nir_shader])
def nir_remove_non_entrypoints(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_remove_non_exported(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_remove_entrypoints(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_fixup_is_exported(shader:c.POINTER[nir_shader]) -> None: ...
shader_info: TypeAlias = struct_shader_info
@dll.bind(c.POINTER[nir_shader], ctypes.c_void_p, gl_shader_stage, c.POINTER[nir_shader_compiler_options], c.POINTER[shader_info])
def nir_shader_create(mem_ctx:ctypes.c_void_p, stage:gl_shader_stage, options:c.POINTER[nir_shader_compiler_options], si:c.POINTER[shader_info]) -> c.POINTER[nir_shader]: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_variable])
def nir_shader_add_variable(shader:c.POINTER[nir_shader], var:c.POINTER[nir_variable]) -> None: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], ctypes.c_uint32, c.POINTER[struct_glsl_type], c.POINTER[ctypes.c_char])
def nir_variable_create(shader:c.POINTER[nir_shader], mode:ctypes.c_uint32, type:c.POINTER[struct_glsl_type], name:c.POINTER[ctypes.c_char]) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_function_impl], c.POINTER[struct_glsl_type], c.POINTER[ctypes.c_char])
def nir_local_variable_create(impl:c.POINTER[nir_function_impl], type:c.POINTER[struct_glsl_type], name:c.POINTER[ctypes.c_char]) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], c.POINTER[struct_glsl_type], c.POINTER[ctypes.c_char], c.Array[gl_state_index16, Literal[4]])
def nir_state_variable_create(shader:c.POINTER[nir_shader], type:c.POINTER[struct_glsl_type], name:c.POINTER[ctypes.c_char], tokens:c.Array[gl_state_index16, Literal[4]]) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_int32, c.POINTER[struct_glsl_type])
def nir_get_variable_with_location(shader:c.POINTER[nir_shader], mode:ctypes.c_uint32, location:int, type:c.POINTER[struct_glsl_type]) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_int32, c.POINTER[struct_glsl_type])
def nir_create_variable_with_location(shader:c.POINTER[nir_shader], mode:ctypes.c_uint32, location:int, type:c.POINTER[struct_glsl_type]) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_uint32)
def nir_find_variable_with_location(shader:c.POINTER[nir_shader], mode:ctypes.c_uint32, location:int) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_uint32)
def nir_find_variable_with_driver_location(shader:c.POINTER[nir_shader], mode:ctypes.c_uint32, location:int) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], c.Array[gl_state_index16, Literal[4]])
def nir_find_state_variable(s:c.POINTER[nir_shader], tokens:c.Array[gl_state_index16, Literal[4]]) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], ctypes.c_uint32)
def nir_find_sampler_variable_with_tex_index(shader:c.POINTER[nir_shader], texture_index:int) -> c.POINTER[nir_variable]: ...
@dll.bind(None, c.POINTER[nir_shader], c.CFUNCTYPE[ctypes.c_int32, [c.POINTER[nir_variable], c.POINTER[nir_variable]]], ctypes.c_uint32)
def nir_sort_variables_with_modes(shader:c.POINTER[nir_shader], compar:c.CFUNCTYPE[ctypes.c_int32, [c.POINTER[nir_variable], c.POINTER[nir_variable]]], modes:ctypes.c_uint32) -> None: ...
@dll.bind(c.POINTER[nir_function], c.POINTER[nir_shader], c.POINTER[ctypes.c_char])
def nir_function_create(shader:c.POINTER[nir_shader], name:c.POINTER[ctypes.c_char]) -> c.POINTER[nir_function]: ...
@dll.bind(c.POINTER[nir_function_impl], c.POINTER[nir_function])
def nir_function_impl_create(func:c.POINTER[nir_function]) -> c.POINTER[nir_function_impl]: ...
@dll.bind(c.POINTER[nir_function_impl], c.POINTER[nir_shader])
def nir_function_impl_create_bare(shader:c.POINTER[nir_shader]) -> c.POINTER[nir_function_impl]: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_shader])
def nir_block_create(shader:c.POINTER[nir_shader]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_if], c.POINTER[nir_shader])
def nir_if_create(shader:c.POINTER[nir_shader]) -> c.POINTER[nir_if]: ...
@dll.bind(c.POINTER[nir_loop], c.POINTER[nir_shader])
def nir_loop_create(shader:c.POINTER[nir_shader]) -> c.POINTER[nir_loop]: ...
@dll.bind(c.POINTER[nir_function_impl], c.POINTER[nir_cf_node])
def nir_cf_node_get_function(node:c.POINTER[nir_cf_node]) -> c.POINTER[nir_function_impl]: ...
@dll.bind(None, c.POINTER[nir_function_impl], ctypes.c_int32)
def nir_metadata_require(impl:c.POINTER[nir_function_impl], required:ctypes.c_int32) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_shader_preserve_all_metadata(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_metadata_invalidate(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(ctypes.c_bool, ctypes.c_bool, c.POINTER[nir_function_impl], ctypes.c_int32)
def nir_progress(progress:bool, impl:c.POINTER[nir_function_impl], preserved:ctypes.c_int32) -> bool: ...
@dll.bind(c.POINTER[nir_alu_instr], c.POINTER[nir_shader], ctypes.c_uint32)
def nir_alu_instr_create(shader:c.POINTER[nir_shader], op:ctypes.c_uint32) -> c.POINTER[nir_alu_instr]: ...
@dll.bind(c.POINTER[nir_deref_instr], c.POINTER[nir_shader], ctypes.c_uint32)
def nir_deref_instr_create(shader:c.POINTER[nir_shader], deref_type:ctypes.c_uint32) -> c.POINTER[nir_deref_instr]: ...
@dll.bind(c.POINTER[nir_jump_instr], c.POINTER[nir_shader], ctypes.c_uint32)
def nir_jump_instr_create(shader:c.POINTER[nir_shader], type:ctypes.c_uint32) -> c.POINTER[nir_jump_instr]: ...
@dll.bind(c.POINTER[nir_load_const_instr], c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_uint32)
def nir_load_const_instr_create(shader:c.POINTER[nir_shader], num_components:int, bit_size:int) -> c.POINTER[nir_load_const_instr]: ...
@dll.bind(c.POINTER[nir_intrinsic_instr], c.POINTER[nir_shader], ctypes.c_uint32)
def nir_intrinsic_instr_create(shader:c.POINTER[nir_shader], op:ctypes.c_uint32) -> c.POINTER[nir_intrinsic_instr]: ...
@dll.bind(c.POINTER[nir_call_instr], c.POINTER[nir_shader], c.POINTER[nir_function])
def nir_call_instr_create(shader:c.POINTER[nir_shader], callee:c.POINTER[nir_function]) -> c.POINTER[nir_call_instr]: ...
@dll.bind(c.POINTER[nir_tex_instr], c.POINTER[nir_shader], ctypes.c_uint32)
def nir_tex_instr_create(shader:c.POINTER[nir_shader], num_srcs:int) -> c.POINTER[nir_tex_instr]: ...
@dll.bind(c.POINTER[nir_phi_instr], c.POINTER[nir_shader])
def nir_phi_instr_create(shader:c.POINTER[nir_shader]) -> c.POINTER[nir_phi_instr]: ...
@dll.bind(c.POINTER[nir_phi_src], c.POINTER[nir_phi_instr], c.POINTER[nir_block], c.POINTER[nir_def])
def nir_phi_instr_add_src(instr:c.POINTER[nir_phi_instr], pred:c.POINTER[nir_block], src:c.POINTER[nir_def]) -> c.POINTER[nir_phi_src]: ...
@dll.bind(c.POINTER[nir_parallel_copy_instr], c.POINTER[nir_shader])
def nir_parallel_copy_instr_create(shader:c.POINTER[nir_shader]) -> c.POINTER[nir_parallel_copy_instr]: ...
@dll.bind(c.POINTER[nir_undef_instr], c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_uint32)
def nir_undef_instr_create(shader:c.POINTER[nir_shader], num_components:int, bit_size:int) -> c.POINTER[nir_undef_instr]: ...
@dll.bind(nir_const_value, ctypes.c_uint32, ctypes.c_uint32)
def nir_alu_binop_identity(binop:ctypes.c_uint32, bit_size:int) -> nir_const_value: ...
nir_cursor_option: dict[int, str] = {(nir_cursor_before_block:=0): 'nir_cursor_before_block', (nir_cursor_after_block:=1): 'nir_cursor_after_block', (nir_cursor_before_instr:=2): 'nir_cursor_before_instr', (nir_cursor_after_instr:=3): 'nir_cursor_after_instr'}
@c.record
class struct_nir_cursor(c.Struct):
  SIZE = 16
  option: int
  block: c.POINTER[struct_nir_block]
  instr: c.POINTER[struct_nir_instr]
struct_nir_cursor.register_fields([('option', ctypes.c_uint32, 0), ('block', c.POINTER[nir_block], 8), ('instr', c.POINTER[nir_instr], 8)])
nir_cursor: TypeAlias = struct_nir_cursor
@dll.bind(ctypes.c_bool, nir_cursor, nir_cursor)
def nir_cursors_equal(a:nir_cursor, b:nir_cursor) -> bool: ...
@dll.bind(None, nir_cursor, c.POINTER[nir_instr])
def nir_instr_insert(cursor:nir_cursor, instr:c.POINTER[nir_instr]) -> None: ...
@dll.bind(ctypes.c_bool, nir_cursor, c.POINTER[nir_instr])
def nir_instr_move(cursor:nir_cursor, instr:c.POINTER[nir_instr]) -> bool: ...
@dll.bind(None, c.POINTER[nir_instr])
def nir_instr_remove_v(instr:c.POINTER[nir_instr]) -> None: ...
@dll.bind(None, c.POINTER[nir_instr])
def nir_instr_free(instr:c.POINTER[nir_instr]) -> None: ...
@dll.bind(None, c.POINTER[struct_exec_list])
def nir_instr_free_list(list:c.POINTER[struct_exec_list]) -> None: ...
@dll.bind(nir_cursor, c.POINTER[nir_instr])
def nir_instr_free_and_dce(instr:c.POINTER[nir_instr]) -> nir_cursor: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_instr])
def nir_instr_def(instr:c.POINTER[nir_instr]) -> c.POINTER[nir_def]: ...
nir_foreach_def_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_def], ctypes.c_void_p]]
nir_foreach_src_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_src], ctypes.c_void_p]]
@dll.bind(ctypes.c_bool, c.POINTER[nir_block], nir_foreach_src_cb, ctypes.c_void_p)
def nir_foreach_phi_src_leaving_block(instr:c.POINTER[nir_block], cb:nir_foreach_src_cb, state:ctypes.c_void_p) -> bool: ...
@dll.bind(c.POINTER[nir_const_value], nir_src)
def nir_src_as_const_value(src:nir_src) -> c.POINTER[nir_const_value]: ...
@dll.bind(c.POINTER[ctypes.c_char], nir_src)
def nir_src_as_string(src:nir_src) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_bool, nir_src)
def nir_src_is_always_uniform(src:nir_src) -> bool: ...
@dll.bind(ctypes.c_bool, nir_src, nir_src)
def nir_srcs_equal(src1:nir_src, src2:nir_src) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_instr], c.POINTER[nir_instr])
def nir_instrs_equal(instr1:c.POINTER[nir_instr], instr2:c.POINTER[nir_instr]) -> bool: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_src])
def nir_src_get_block(src:c.POINTER[nir_src]) -> c.POINTER[nir_block]: ...
@dll.bind(None, c.POINTER[nir_instr], c.POINTER[nir_src], c.POINTER[nir_def])
def nir_instr_init_src(instr:c.POINTER[nir_instr], src:c.POINTER[nir_src], _def:c.POINTER[nir_def]) -> None: ...
@dll.bind(None, c.POINTER[nir_instr], c.POINTER[nir_src])
def nir_instr_clear_src(instr:c.POINTER[nir_instr], src:c.POINTER[nir_src]) -> None: ...
@dll.bind(None, c.POINTER[nir_instr], c.POINTER[nir_src], c.POINTER[nir_src])
def nir_instr_move_src(dest_instr:c.POINTER[nir_instr], dest:c.POINTER[nir_src], src:c.POINTER[nir_src]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_instr], c.POINTER[nir_instr])
def nir_instr_is_before(first:c.POINTER[nir_instr], second:c.POINTER[nir_instr]) -> bool: ...
@dll.bind(None, c.POINTER[nir_instr], c.POINTER[nir_def], ctypes.c_uint32, ctypes.c_uint32)
def nir_def_init(instr:c.POINTER[nir_instr], _def:c.POINTER[nir_def], num_components:int, bit_size:int) -> None: ...
@dll.bind(None, c.POINTER[nir_def], c.POINTER[nir_def])
def nir_def_rewrite_uses(_def:c.POINTER[nir_def], new_ssa:c.POINTER[nir_def]) -> None: ...
@dll.bind(None, c.POINTER[nir_def], nir_src)
def nir_def_rewrite_uses_src(_def:c.POINTER[nir_def], new_src:nir_src) -> None: ...
@dll.bind(None, c.POINTER[nir_def], c.POINTER[nir_def], c.POINTER[nir_instr])
def nir_def_rewrite_uses_after(_def:c.POINTER[nir_def], new_ssa:c.POINTER[nir_def], after_me:c.POINTER[nir_instr]) -> None: ...
@dll.bind(nir_component_mask_t, c.POINTER[nir_src])
def nir_src_components_read(src:c.POINTER[nir_src]) -> nir_component_mask_t: ...
@dll.bind(nir_component_mask_t, c.POINTER[nir_def])
def nir_def_components_read(_def:c.POINTER[nir_def]) -> nir_component_mask_t: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_def])
def nir_def_all_uses_are_fsat(_def:c.POINTER[nir_def]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_def])
def nir_def_all_uses_ignore_sign_bit(_def:c.POINTER[nir_def]) -> bool: ...
@dll.bind(None, c.POINTER[nir_function_impl])
def nir_sort_unstructured_blocks(impl:c.POINTER[nir_function_impl]) -> None: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_block])
def nir_block_unstructured_next(block:c.POINTER[nir_block]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_function_impl])
def nir_unstructured_start_block(impl:c.POINTER[nir_function_impl]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_block])
def nir_block_cf_tree_next(block:c.POINTER[nir_block]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_block])
def nir_block_cf_tree_prev(block:c.POINTER[nir_block]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_cf_node])
def nir_cf_node_cf_tree_first(node:c.POINTER[nir_cf_node]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_cf_node])
def nir_cf_node_cf_tree_last(node:c.POINTER[nir_cf_node]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_cf_node])
def nir_cf_node_cf_tree_next(node:c.POINTER[nir_cf_node]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_cf_node])
def nir_cf_node_cf_tree_prev(node:c.POINTER[nir_cf_node]) -> c.POINTER[nir_block]: ...
@dll.bind(c.POINTER[nir_if], c.POINTER[nir_block])
def nir_block_get_following_if(block:c.POINTER[nir_block]) -> c.POINTER[nir_if]: ...
@dll.bind(c.POINTER[nir_loop], c.POINTER[nir_block])
def nir_block_get_following_loop(block:c.POINTER[nir_block]) -> c.POINTER[nir_loop]: ...
@dll.bind(c.POINTER[c.POINTER[nir_block]], c.POINTER[nir_block], ctypes.c_void_p)
def nir_block_get_predecessors_sorted(block:c.POINTER[nir_block], mem_ctx:ctypes.c_void_p) -> c.POINTER[c.POINTER[nir_block]]: ...
@dll.bind(None, c.POINTER[nir_function_impl])
def nir_index_ssa_defs(impl:c.POINTER[nir_function_impl]) -> None: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_function_impl])
def nir_index_instrs(impl:c.POINTER[nir_function_impl]) -> int: ...
@dll.bind(None, c.POINTER[nir_function_impl])
def nir_index_blocks(impl:c.POINTER[nir_function_impl]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_shader_clear_pass_flags(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_shader_index_vars(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_function_impl])
def nir_function_impl_index_vars(impl:c.POINTER[nir_function_impl]) -> int: ...
@c.record
class struct__IO_FILE(c.Struct):
  SIZE = 216
  _flags: int
  _IO_read_ptr: c.POINTER[ctypes.c_char]
  _IO_read_end: c.POINTER[ctypes.c_char]
  _IO_read_base: c.POINTER[ctypes.c_char]
  _IO_write_base: c.POINTER[ctypes.c_char]
  _IO_write_ptr: c.POINTER[ctypes.c_char]
  _IO_write_end: c.POINTER[ctypes.c_char]
  _IO_buf_base: c.POINTER[ctypes.c_char]
  _IO_buf_end: c.POINTER[ctypes.c_char]
  _IO_save_base: c.POINTER[ctypes.c_char]
  _IO_backup_base: c.POINTER[ctypes.c_char]
  _IO_save_end: c.POINTER[ctypes.c_char]
  _markers: c.POINTER[struct__IO_marker]
  _chain: c.POINTER[struct__IO_FILE]
  _fileno: int
  _flags2: int
  _old_offset: int
  _cur_column: int
  _vtable_offset: int
  _shortbuf: c.Array[ctypes.c_char, Literal[1]]
  _lock: ctypes.c_void_p
  _offset: int
  _codecvt: c.POINTER[struct__IO_codecvt]
  _wide_data: c.POINTER[struct__IO_wide_data]
  _freeres_list: c.POINTER[struct__IO_FILE]
  _freeres_buf: ctypes.c_void_p
  __pad5: int
  _mode: int
  _unused2: c.Array[ctypes.c_char, Literal[20]]
FILE: TypeAlias = struct__IO_FILE
class struct__IO_marker(c.Struct): pass
__off_t: TypeAlias = ctypes.c_int64
_IO_lock_t: TypeAlias = None
__off64_t: TypeAlias = ctypes.c_int64
class struct__IO_codecvt(c.Struct): pass
class struct__IO_wide_data(c.Struct): pass
size_t: TypeAlias = ctypes.c_uint64
struct__IO_FILE.register_fields([('_flags', ctypes.c_int32, 0), ('_IO_read_ptr', c.POINTER[ctypes.c_char], 8), ('_IO_read_end', c.POINTER[ctypes.c_char], 16), ('_IO_read_base', c.POINTER[ctypes.c_char], 24), ('_IO_write_base', c.POINTER[ctypes.c_char], 32), ('_IO_write_ptr', c.POINTER[ctypes.c_char], 40), ('_IO_write_end', c.POINTER[ctypes.c_char], 48), ('_IO_buf_base', c.POINTER[ctypes.c_char], 56), ('_IO_buf_end', c.POINTER[ctypes.c_char], 64), ('_IO_save_base', c.POINTER[ctypes.c_char], 72), ('_IO_backup_base', c.POINTER[ctypes.c_char], 80), ('_IO_save_end', c.POINTER[ctypes.c_char], 88), ('_markers', c.POINTER[struct__IO_marker], 96), ('_chain', c.POINTER[struct__IO_FILE], 104), ('_fileno', ctypes.c_int32, 112), ('_flags2', ctypes.c_int32, 116), ('_old_offset', ctypes.c_int64, 120), ('_cur_column', ctypes.c_uint16, 128), ('_vtable_offset', ctypes.c_byte, 130), ('_shortbuf', c.Array[ctypes.c_char, Literal[1]], 131), ('_lock', c.POINTER[_IO_lock_t], 136), ('_offset', ctypes.c_int64, 144), ('_codecvt', c.POINTER[struct__IO_codecvt], 152), ('_wide_data', c.POINTER[struct__IO_wide_data], 160), ('_freeres_list', c.POINTER[struct__IO_FILE], 168), ('_freeres_buf', ctypes.c_void_p, 176), ('__pad5', size_t, 184), ('_mode', ctypes.c_int32, 192), ('_unused2', c.Array[ctypes.c_char, Literal[20]], 196)])
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[FILE])
def nir_print_shader(shader:c.POINTER[nir_shader], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_function_impl], c.POINTER[FILE])
def nir_print_function_body(impl:c.POINTER[nir_function_impl], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[FILE], c.POINTER[struct_hash_table])
def nir_print_shader_annotated(shader:c.POINTER[nir_shader], fp:c.POINTER[FILE], errors:c.POINTER[struct_hash_table]) -> None: ...
@dll.bind(None, c.POINTER[nir_instr], c.POINTER[FILE])
def nir_print_instr(instr:c.POINTER[nir_instr], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_deref_instr], c.POINTER[FILE])
def nir_print_deref(deref:c.POINTER[nir_deref_instr], fp:c.POINTER[FILE]) -> None: ...
enum_mesa_log_level: dict[int, str] = {(MESA_LOG_ERROR:=0): 'MESA_LOG_ERROR', (MESA_LOG_WARN:=1): 'MESA_LOG_WARN', (MESA_LOG_INFO:=2): 'MESA_LOG_INFO', (MESA_LOG_DEBUG:=3): 'MESA_LOG_DEBUG'}
@dll.bind(None, ctypes.c_uint32, c.POINTER[ctypes.c_char], c.POINTER[nir_shader], c.POINTER[struct_hash_table])
def nir_log_shader_annotated_tagged(level:ctypes.c_uint32, tag:c.POINTER[ctypes.c_char], shader:c.POINTER[nir_shader], annotations:c.POINTER[struct_hash_table]) -> None: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[nir_shader], ctypes.c_void_p)
def nir_shader_as_str(nir:c.POINTER[nir_shader], mem_ctx:ctypes.c_void_p) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[nir_shader], c.POINTER[struct_hash_table], ctypes.c_void_p)
def nir_shader_as_str_annotated(nir:c.POINTER[nir_shader], annotations:c.POINTER[struct_hash_table], mem_ctx:ctypes.c_void_p) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[nir_instr], ctypes.c_void_p)
def nir_instr_as_str(instr:c.POINTER[nir_instr], mem_ctx:ctypes.c_void_p) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[nir_shader], c.POINTER[ctypes.c_char], uint32_t)
def nir_shader_gather_debug_info(shader:c.POINTER[nir_shader], filename:c.POINTER[ctypes.c_char], first_line:uint32_t) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[nir_instr], c.POINTER[nir_shader], c.POINTER[nir_instr])
def nir_instr_clone(s:c.POINTER[nir_shader], orig:c.POINTER[nir_instr]) -> c.POINTER[nir_instr]: ...
@dll.bind(c.POINTER[nir_instr], c.POINTER[nir_shader], c.POINTER[nir_instr], c.POINTER[struct_hash_table])
def nir_instr_clone_deep(s:c.POINTER[nir_shader], orig:c.POINTER[nir_instr], remap_table:c.POINTER[struct_hash_table]) -> c.POINTER[nir_instr]: ...
@dll.bind(c.POINTER[nir_alu_instr], c.POINTER[nir_shader], c.POINTER[nir_alu_instr])
def nir_alu_instr_clone(s:c.POINTER[nir_shader], orig:c.POINTER[nir_alu_instr]) -> c.POINTER[nir_alu_instr]: ...
@dll.bind(c.POINTER[nir_shader], ctypes.c_void_p, c.POINTER[nir_shader])
def nir_shader_clone(mem_ctx:ctypes.c_void_p, s:c.POINTER[nir_shader]) -> c.POINTER[nir_shader]: ...
@dll.bind(c.POINTER[nir_function], c.POINTER[nir_shader], c.POINTER[nir_function])
def nir_function_clone(ns:c.POINTER[nir_shader], fxn:c.POINTER[nir_function]) -> c.POINTER[nir_function]: ...
@dll.bind(c.POINTER[nir_function_impl], c.POINTER[nir_shader], c.POINTER[nir_function_impl])
def nir_function_impl_clone(shader:c.POINTER[nir_shader], fi:c.POINTER[nir_function_impl]) -> c.POINTER[nir_function_impl]: ...
@dll.bind(c.POINTER[nir_function_impl], c.POINTER[nir_shader], c.POINTER[nir_function_impl], c.POINTER[struct_hash_table])
def nir_function_impl_clone_remap_globals(shader:c.POINTER[nir_shader], fi:c.POINTER[nir_function_impl], remap_table:c.POINTER[struct_hash_table]) -> c.POINTER[nir_function_impl]: ...
@dll.bind(c.POINTER[nir_constant], c.POINTER[nir_constant], c.POINTER[nir_variable])
def nir_constant_clone(c:c.POINTER[nir_constant], var:c.POINTER[nir_variable]) -> c.POINTER[nir_constant]: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_variable], c.POINTER[nir_shader])
def nir_variable_clone(c:c.POINTER[nir_variable], shader:c.POINTER[nir_shader]) -> c.POINTER[nir_variable]: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_shader])
def nir_shader_replace(dest:c.POINTER[nir_shader], src:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_shader_serialize_deserialize(s:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[ctypes.c_char])
def nir_validate_shader(shader:c.POINTER[nir_shader], when:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[ctypes.c_char])
def nir_validate_ssa_dominance(shader:c.POINTER[nir_shader], when:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_metadata_set_validation_flag(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_metadata_check_validation_flag(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_metadata_require_all(shader:c.POINTER[nir_shader]) -> None: ...
nir_instr_writemask_filter_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_instr], ctypes.c_uint32, ctypes.c_void_p]]
@c.record
class struct_nir_builder(c.Struct):
  SIZE = 40
  cursor: struct_nir_cursor
  exact: bool
  fp_fast_math: int
  shader: c.POINTER[struct_nir_shader]
  impl: c.POINTER[struct_nir_function_impl]
nir_lower_instr_cb: TypeAlias = c.CFUNCTYPE[c.POINTER[struct_nir_def], [c.POINTER[struct_nir_builder], c.POINTER[struct_nir_instr], ctypes.c_void_p]]
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl], nir_instr_filter_cb, nir_lower_instr_cb, ctypes.c_void_p)
def nir_function_impl_lower_instructions(impl:c.POINTER[nir_function_impl], filter:nir_instr_filter_cb, lower:nir_lower_instr_cb, cb_data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_instr_filter_cb, nir_lower_instr_cb, ctypes.c_void_p)
def nir_shader_lower_instructions(shader:c.POINTER[nir_shader], filter:nir_instr_filter_cb, lower:nir_lower_instr_cb, cb_data:ctypes.c_void_p) -> bool: ...
@dll.bind(None, c.POINTER[nir_function_impl])
def nir_calc_dominance_impl(impl:c.POINTER[nir_function_impl]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_calc_dominance(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(c.POINTER[nir_block], c.POINTER[nir_block], c.POINTER[nir_block])
def nir_dominance_lca(b1:c.POINTER[nir_block], b2:c.POINTER[nir_block]) -> c.POINTER[nir_block]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_block], c.POINTER[nir_block])
def nir_block_dominates(parent:c.POINTER[nir_block], child:c.POINTER[nir_block]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_block])
def nir_block_is_unreachable(block:c.POINTER[nir_block]) -> bool: ...
@dll.bind(None, c.POINTER[nir_function_impl], c.POINTER[FILE])
def nir_dump_dom_tree_impl(impl:c.POINTER[nir_function_impl], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[FILE])
def nir_dump_dom_tree(shader:c.POINTER[nir_shader], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_function_impl], c.POINTER[FILE])
def nir_dump_dom_frontier_impl(impl:c.POINTER[nir_function_impl], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[FILE])
def nir_dump_dom_frontier(shader:c.POINTER[nir_shader], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_function_impl], c.POINTER[FILE])
def nir_dump_cfg_impl(impl:c.POINTER[nir_function_impl], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[FILE])
def nir_dump_cfg(shader:c.POINTER[nir_shader], fp:c.POINTER[FILE]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[ctypes.c_int32], c.POINTER[ctypes.c_int32], c.POINTER[ctypes.c_int32], ctypes.c_uint32)
def nir_gs_count_vertices_and_primitives(shader:c.POINTER[nir_shader], out_vtxcnt:c.POINTER[ctypes.c_int32], out_prmcnt:c.POINTER[ctypes.c_int32], out_decomposed_prmcnt:c.POINTER[ctypes.c_int32], num_streams:int) -> None: ...
nir_load_grouping: dict[int, str] = {(nir_group_all:=0): 'nir_group_all', (nir_group_same_resource_only:=1): 'nir_group_same_resource_only'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_uint32)
def nir_group_loads(shader:c.POINTER[nir_shader], grouping:ctypes.c_uint32, max_distance:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_shrink_vec_array_vars(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_split_array_vars(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_split_var_copies(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_split_per_member_structs(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_split_struct_vars(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl])
def nir_lower_returns_impl(impl:c.POINTER[nir_function_impl]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_returns(shader:c.POINTER[nir_shader]) -> bool: ...
nir_builder: TypeAlias = struct_nir_builder
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_function_impl], c.POINTER[c.POINTER[nir_def]], c.POINTER[struct_hash_table])
def nir_inline_function_impl(b:c.POINTER[nir_builder], impl:c.POINTER[nir_function_impl], params:c.POINTER[c.POINTER[nir_def]], shader_var_remap:c.POINTER[struct_hash_table]) -> c.POINTER[nir_def]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_inline_functions(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_cleanup_functions(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_shader])
def nir_link_shader_functions(shader:c.POINTER[nir_shader], link_shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_calls_to_builtins(s:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_find_inlinable_uniforms(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, c.POINTER[uint32_t], c.POINTER[uint16_t])
def nir_inline_uniforms(shader:c.POINTER[nir_shader], num_uniforms:int, uniform_values:c.POINTER[uint32_t], uniform_dw_offsets:c.POINTER[uint16_t]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_src], ctypes.c_int32, c.POINTER[uint32_t], c.POINTER[uint8_t], ctypes.c_uint32, ctypes.c_uint32)
def nir_collect_src_uniforms(src:c.POINTER[nir_src], component:int, uni_offsets:c.POINTER[uint32_t], num_offsets:c.POINTER[uint8_t], max_num_bo:int, max_offset:int) -> bool: ...
@dll.bind(None, c.POINTER[nir_src], c.POINTER[nir_loop_info], c.POINTER[uint32_t], c.POINTER[uint8_t], ctypes.c_uint32, ctypes.c_uint32)
def nir_add_inlinable_uniforms(cond:c.POINTER[nir_src], info:c.POINTER[nir_loop_info], uni_offsets:c.POINTER[uint32_t], num_offsets:c.POINTER[uint8_t], max_num_bo:int, max_offset:int) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_propagate_invariant(shader:c.POINTER[nir_shader], invariant_prim:bool) -> bool: ...
@dll.bind(None, c.POINTER[nir_intrinsic_instr], c.POINTER[nir_shader])
def nir_lower_var_copy_instr(copy:c.POINTER[nir_intrinsic_instr], shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_builder], c.POINTER[nir_intrinsic_instr])
def nir_lower_deref_copy_instr(b:c.POINTER[nir_builder], copy:c.POINTER[nir_intrinsic_instr]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_var_copies(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_memcpy(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_memcpy(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_fixup_deref_modes(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_fixup_deref_types(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_global_vars_to_local(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_lower_constant_to_temp(shader:c.POINTER[nir_shader]) -> None: ...
nir_lower_array_deref_of_vec_options: dict[int, str] = {(nir_lower_direct_array_deref_of_vec_load:=1): 'nir_lower_direct_array_deref_of_vec_load', (nir_lower_indirect_array_deref_of_vec_load:=2): 'nir_lower_indirect_array_deref_of_vec_load', (nir_lower_direct_array_deref_of_vec_store:=4): 'nir_lower_direct_array_deref_of_vec_store', (nir_lower_indirect_array_deref_of_vec_store:=8): 'nir_lower_indirect_array_deref_of_vec_store'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[nir_variable]]], ctypes.c_uint32)
def nir_lower_array_deref_of_vec(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32, filter:c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[nir_variable]]], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, uint32_t)
def nir_lower_indirect_derefs(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32, max_lower_array_len:uint32_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_set])
def nir_lower_indirect_var_derefs(shader:c.POINTER[nir_shader], vars:c.POINTER[struct_set]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], uint8_t)
def nir_lower_locals_to_regs(shader:c.POINTER[nir_shader], bool_bitsize:uint8_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_function_impl], ctypes.c_bool, ctypes.c_bool)
def nir_lower_io_vars_to_temporaries(shader:c.POINTER[nir_shader], entrypoint:c.POINTER[nir_function_impl], outputs:bool, inputs:bool) -> bool: ...
glsl_type_size_align_func: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[struct_glsl_type], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32]]]
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_int32, glsl_type_size_align_func, glsl_type_size_align_func)
def nir_lower_vars_to_scratch(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32, size_threshold:int, variable_size_align:glsl_type_size_align_func, scratch_layout_size_align:glsl_type_size_align_func) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_scratch_to_var(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_clip_halfz(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_function_impl])
def nir_shader_gather_info(shader:c.POINTER[nir_shader], entrypoint:c.POINTER[nir_function_impl]) -> None: ...
@dll.bind(None, c.POINTER[nir_function_impl], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def nir_gather_types(impl:c.POINTER[nir_function_impl], float_types:c.POINTER[ctypes.c_uint32], int_types:c.POINTER[ctypes.c_uint32]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_shader])
def nir_remove_unused_varyings(producer:c.POINTER[nir_shader], consumer:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, c.POINTER[uint64_t], c.POINTER[uint64_t])
def nir_remove_unused_io_vars(shader:c.POINTER[nir_shader], mode:ctypes.c_uint32, used_by_other_stage:c.POINTER[uint64_t], used_by_other_stage_patches:c.POINTER[uint64_t]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_shader], ctypes.c_bool)
def nir_compact_varyings(producer:c.POINTER[nir_shader], consumer:c.POINTER[nir_shader], default_to_smooth_interp:bool) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_shader])
def nir_link_xfb_varyings(producer:c.POINTER[nir_shader], consumer:c.POINTER[nir_shader]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_shader])
def nir_link_opt_varyings(producer:c.POINTER[nir_shader], consumer:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_shader])
def nir_link_varying_precision(producer:c.POINTER[nir_shader], consumer:c.POINTER[nir_shader]) -> None: ...
@dll.bind(c.POINTER[nir_variable], c.POINTER[nir_shader], c.POINTER[nir_variable], ctypes.c_bool)
def nir_clone_uniform_variable(nir:c.POINTER[nir_shader], uniform:c.POINTER[nir_variable], spirv:bool) -> c.POINTER[nir_variable]: ...
@dll.bind(c.POINTER[nir_deref_instr], c.POINTER[nir_builder], c.POINTER[nir_variable], c.POINTER[nir_deref_instr])
def nir_clone_deref_instr(b:c.POINTER[nir_builder], var:c.POINTER[nir_variable], deref:c.POINTER[nir_deref_instr]) -> c.POINTER[nir_deref_instr]: ...
nir_opt_varyings_progress: dict[int, str] = {(nir_progress_producer:=1): 'nir_progress_producer', (nir_progress_consumer:=2): 'nir_progress_consumer'}
@dll.bind(ctypes.c_uint32, c.POINTER[nir_shader], c.POINTER[nir_shader], ctypes.c_bool, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_bool)
def nir_opt_varyings(producer:c.POINTER[nir_shader], consumer:c.POINTER[nir_shader], spirv:bool, max_uniform_components:int, max_ubos_per_stage:int, debug_no_algebraic:bool) -> ctypes.c_uint32: ...
gl_varying_slot: dict[int, str] = {(VARYING_SLOT_POS:=0): 'VARYING_SLOT_POS', (VARYING_SLOT_COL0:=1): 'VARYING_SLOT_COL0', (VARYING_SLOT_COL1:=2): 'VARYING_SLOT_COL1', (VARYING_SLOT_FOGC:=3): 'VARYING_SLOT_FOGC', (VARYING_SLOT_TEX0:=4): 'VARYING_SLOT_TEX0', (VARYING_SLOT_TEX1:=5): 'VARYING_SLOT_TEX1', (VARYING_SLOT_TEX2:=6): 'VARYING_SLOT_TEX2', (VARYING_SLOT_TEX3:=7): 'VARYING_SLOT_TEX3', (VARYING_SLOT_TEX4:=8): 'VARYING_SLOT_TEX4', (VARYING_SLOT_TEX5:=9): 'VARYING_SLOT_TEX5', (VARYING_SLOT_TEX6:=10): 'VARYING_SLOT_TEX6', (VARYING_SLOT_TEX7:=11): 'VARYING_SLOT_TEX7', (VARYING_SLOT_PSIZ:=12): 'VARYING_SLOT_PSIZ', (VARYING_SLOT_BFC0:=13): 'VARYING_SLOT_BFC0', (VARYING_SLOT_BFC1:=14): 'VARYING_SLOT_BFC1', (VARYING_SLOT_EDGE:=15): 'VARYING_SLOT_EDGE', (VARYING_SLOT_CLIP_VERTEX:=16): 'VARYING_SLOT_CLIP_VERTEX', (VARYING_SLOT_CLIP_DIST0:=17): 'VARYING_SLOT_CLIP_DIST0', (VARYING_SLOT_CLIP_DIST1:=18): 'VARYING_SLOT_CLIP_DIST1', (VARYING_SLOT_CULL_DIST0:=19): 'VARYING_SLOT_CULL_DIST0', (VARYING_SLOT_CULL_DIST1:=20): 'VARYING_SLOT_CULL_DIST1', (VARYING_SLOT_PRIMITIVE_ID:=21): 'VARYING_SLOT_PRIMITIVE_ID', (VARYING_SLOT_LAYER:=22): 'VARYING_SLOT_LAYER', (VARYING_SLOT_VIEWPORT:=23): 'VARYING_SLOT_VIEWPORT', (VARYING_SLOT_FACE:=24): 'VARYING_SLOT_FACE', (VARYING_SLOT_PNTC:=25): 'VARYING_SLOT_PNTC', (VARYING_SLOT_TESS_LEVEL_OUTER:=26): 'VARYING_SLOT_TESS_LEVEL_OUTER', (VARYING_SLOT_TESS_LEVEL_INNER:=27): 'VARYING_SLOT_TESS_LEVEL_INNER', (VARYING_SLOT_BOUNDING_BOX0:=28): 'VARYING_SLOT_BOUNDING_BOX0', (VARYING_SLOT_BOUNDING_BOX1:=29): 'VARYING_SLOT_BOUNDING_BOX1', (VARYING_SLOT_VIEW_INDEX:=30): 'VARYING_SLOT_VIEW_INDEX', (VARYING_SLOT_VIEWPORT_MASK:=31): 'VARYING_SLOT_VIEWPORT_MASK', (VARYING_SLOT_PRIMITIVE_SHADING_RATE:=24): 'VARYING_SLOT_PRIMITIVE_SHADING_RATE', (VARYING_SLOT_PRIMITIVE_COUNT:=26): 'VARYING_SLOT_PRIMITIVE_COUNT', (VARYING_SLOT_PRIMITIVE_INDICES:=27): 'VARYING_SLOT_PRIMITIVE_INDICES', (VARYING_SLOT_TASK_COUNT:=28): 'VARYING_SLOT_TASK_COUNT', (VARYING_SLOT_CULL_PRIMITIVE:=28): 'VARYING_SLOT_CULL_PRIMITIVE', (VARYING_SLOT_VAR0:=32): 'VARYING_SLOT_VAR0', (VARYING_SLOT_VAR1:=33): 'VARYING_SLOT_VAR1', (VARYING_SLOT_VAR2:=34): 'VARYING_SLOT_VAR2', (VARYING_SLOT_VAR3:=35): 'VARYING_SLOT_VAR3', (VARYING_SLOT_VAR4:=36): 'VARYING_SLOT_VAR4', (VARYING_SLOT_VAR5:=37): 'VARYING_SLOT_VAR5', (VARYING_SLOT_VAR6:=38): 'VARYING_SLOT_VAR6', (VARYING_SLOT_VAR7:=39): 'VARYING_SLOT_VAR7', (VARYING_SLOT_VAR8:=40): 'VARYING_SLOT_VAR8', (VARYING_SLOT_VAR9:=41): 'VARYING_SLOT_VAR9', (VARYING_SLOT_VAR10:=42): 'VARYING_SLOT_VAR10', (VARYING_SLOT_VAR11:=43): 'VARYING_SLOT_VAR11', (VARYING_SLOT_VAR12:=44): 'VARYING_SLOT_VAR12', (VARYING_SLOT_VAR13:=45): 'VARYING_SLOT_VAR13', (VARYING_SLOT_VAR14:=46): 'VARYING_SLOT_VAR14', (VARYING_SLOT_VAR15:=47): 'VARYING_SLOT_VAR15', (VARYING_SLOT_VAR16:=48): 'VARYING_SLOT_VAR16', (VARYING_SLOT_VAR17:=49): 'VARYING_SLOT_VAR17', (VARYING_SLOT_VAR18:=50): 'VARYING_SLOT_VAR18', (VARYING_SLOT_VAR19:=51): 'VARYING_SLOT_VAR19', (VARYING_SLOT_VAR20:=52): 'VARYING_SLOT_VAR20', (VARYING_SLOT_VAR21:=53): 'VARYING_SLOT_VAR21', (VARYING_SLOT_VAR22:=54): 'VARYING_SLOT_VAR22', (VARYING_SLOT_VAR23:=55): 'VARYING_SLOT_VAR23', (VARYING_SLOT_VAR24:=56): 'VARYING_SLOT_VAR24', (VARYING_SLOT_VAR25:=57): 'VARYING_SLOT_VAR25', (VARYING_SLOT_VAR26:=58): 'VARYING_SLOT_VAR26', (VARYING_SLOT_VAR27:=59): 'VARYING_SLOT_VAR27', (VARYING_SLOT_VAR28:=60): 'VARYING_SLOT_VAR28', (VARYING_SLOT_VAR29:=61): 'VARYING_SLOT_VAR29', (VARYING_SLOT_VAR30:=62): 'VARYING_SLOT_VAR30', (VARYING_SLOT_VAR31:=63): 'VARYING_SLOT_VAR31', (VARYING_SLOT_PATCH0:=64): 'VARYING_SLOT_PATCH0', (VARYING_SLOT_PATCH1:=65): 'VARYING_SLOT_PATCH1', (VARYING_SLOT_PATCH2:=66): 'VARYING_SLOT_PATCH2', (VARYING_SLOT_PATCH3:=67): 'VARYING_SLOT_PATCH3', (VARYING_SLOT_PATCH4:=68): 'VARYING_SLOT_PATCH4', (VARYING_SLOT_PATCH5:=69): 'VARYING_SLOT_PATCH5', (VARYING_SLOT_PATCH6:=70): 'VARYING_SLOT_PATCH6', (VARYING_SLOT_PATCH7:=71): 'VARYING_SLOT_PATCH7', (VARYING_SLOT_PATCH8:=72): 'VARYING_SLOT_PATCH8', (VARYING_SLOT_PATCH9:=73): 'VARYING_SLOT_PATCH9', (VARYING_SLOT_PATCH10:=74): 'VARYING_SLOT_PATCH10', (VARYING_SLOT_PATCH11:=75): 'VARYING_SLOT_PATCH11', (VARYING_SLOT_PATCH12:=76): 'VARYING_SLOT_PATCH12', (VARYING_SLOT_PATCH13:=77): 'VARYING_SLOT_PATCH13', (VARYING_SLOT_PATCH14:=78): 'VARYING_SLOT_PATCH14', (VARYING_SLOT_PATCH15:=79): 'VARYING_SLOT_PATCH15', (VARYING_SLOT_PATCH16:=80): 'VARYING_SLOT_PATCH16', (VARYING_SLOT_PATCH17:=81): 'VARYING_SLOT_PATCH17', (VARYING_SLOT_PATCH18:=82): 'VARYING_SLOT_PATCH18', (VARYING_SLOT_PATCH19:=83): 'VARYING_SLOT_PATCH19', (VARYING_SLOT_PATCH20:=84): 'VARYING_SLOT_PATCH20', (VARYING_SLOT_PATCH21:=85): 'VARYING_SLOT_PATCH21', (VARYING_SLOT_PATCH22:=86): 'VARYING_SLOT_PATCH22', (VARYING_SLOT_PATCH23:=87): 'VARYING_SLOT_PATCH23', (VARYING_SLOT_PATCH24:=88): 'VARYING_SLOT_PATCH24', (VARYING_SLOT_PATCH25:=89): 'VARYING_SLOT_PATCH25', (VARYING_SLOT_PATCH26:=90): 'VARYING_SLOT_PATCH26', (VARYING_SLOT_PATCH27:=91): 'VARYING_SLOT_PATCH27', (VARYING_SLOT_PATCH28:=92): 'VARYING_SLOT_PATCH28', (VARYING_SLOT_PATCH29:=93): 'VARYING_SLOT_PATCH29', (VARYING_SLOT_PATCH30:=94): 'VARYING_SLOT_PATCH30', (VARYING_SLOT_PATCH31:=95): 'VARYING_SLOT_PATCH31', (VARYING_SLOT_VAR0_16BIT:=96): 'VARYING_SLOT_VAR0_16BIT', (VARYING_SLOT_VAR1_16BIT:=97): 'VARYING_SLOT_VAR1_16BIT', (VARYING_SLOT_VAR2_16BIT:=98): 'VARYING_SLOT_VAR2_16BIT', (VARYING_SLOT_VAR3_16BIT:=99): 'VARYING_SLOT_VAR3_16BIT', (VARYING_SLOT_VAR4_16BIT:=100): 'VARYING_SLOT_VAR4_16BIT', (VARYING_SLOT_VAR5_16BIT:=101): 'VARYING_SLOT_VAR5_16BIT', (VARYING_SLOT_VAR6_16BIT:=102): 'VARYING_SLOT_VAR6_16BIT', (VARYING_SLOT_VAR7_16BIT:=103): 'VARYING_SLOT_VAR7_16BIT', (VARYING_SLOT_VAR8_16BIT:=104): 'VARYING_SLOT_VAR8_16BIT', (VARYING_SLOT_VAR9_16BIT:=105): 'VARYING_SLOT_VAR9_16BIT', (VARYING_SLOT_VAR10_16BIT:=106): 'VARYING_SLOT_VAR10_16BIT', (VARYING_SLOT_VAR11_16BIT:=107): 'VARYING_SLOT_VAR11_16BIT', (VARYING_SLOT_VAR12_16BIT:=108): 'VARYING_SLOT_VAR12_16BIT', (VARYING_SLOT_VAR13_16BIT:=109): 'VARYING_SLOT_VAR13_16BIT', (VARYING_SLOT_VAR14_16BIT:=110): 'VARYING_SLOT_VAR14_16BIT', (VARYING_SLOT_VAR15_16BIT:=111): 'VARYING_SLOT_VAR15_16BIT', (NUM_TOTAL_VARYING_SLOTS:=112): 'NUM_TOTAL_VARYING_SLOTS'}
@dll.bind(ctypes.c_bool, ctypes.c_uint32, gl_shader_stage)
def nir_slot_is_sysval_output(slot:ctypes.c_uint32, next_shader:gl_shader_stage) -> bool: ...
@dll.bind(ctypes.c_bool, ctypes.c_uint32, gl_shader_stage)
def nir_slot_is_varying(slot:ctypes.c_uint32, next_shader:gl_shader_stage) -> bool: ...
@dll.bind(ctypes.c_bool, ctypes.c_uint32, gl_shader_stage)
def nir_slot_is_sysval_output_and_varying(slot:ctypes.c_uint32, next_shader:gl_shader_stage) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_intrinsic_instr], gl_shader_stage)
def nir_remove_varying(intr:c.POINTER[nir_intrinsic_instr], next_shader:gl_shader_stage) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_intrinsic_instr], gl_shader_stage)
def nir_remove_sysval_output(intr:c.POINTER[nir_intrinsic_instr], next_shader:gl_shader_stage) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.CFUNCTYPE[ctypes.c_int32, [c.POINTER[struct_glsl_type], ctypes.c_bool]])
def nir_lower_amul(shader:c.POINTER[nir_shader], type_size:c.CFUNCTYPE[ctypes.c_int32, [c.POINTER[struct_glsl_type], ctypes.c_bool]]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_ubo_vec4(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_sort_variables_by_location(shader:c.POINTER[nir_shader], mode:ctypes.c_uint32) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], ctypes.c_uint32, c.POINTER[ctypes.c_uint32], gl_shader_stage)
def nir_assign_io_var_locations(shader:c.POINTER[nir_shader], mode:ctypes.c_uint32, size:c.POINTER[ctypes.c_uint32], stage:gl_shader_stage) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_clip_cull_const(shader:c.POINTER[nir_shader]) -> bool: ...
nir_lower_io_options: dict[int, str] = {(nir_lower_io_lower_64bit_to_32:=1): 'nir_lower_io_lower_64bit_to_32', (nir_lower_io_lower_64bit_float_to_32:=2): 'nir_lower_io_lower_64bit_float_to_32', (nir_lower_io_lower_64bit_to_32_new:=4): 'nir_lower_io_lower_64bit_to_32_new', (nir_lower_io_use_interpolated_input_intrinsics:=8): 'nir_lower_io_use_interpolated_input_intrinsics'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, c.CFUNCTYPE[ctypes.c_int32, [c.POINTER[struct_glsl_type], ctypes.c_bool]], ctypes.c_uint32)
def nir_lower_io(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32, type_size:c.CFUNCTYPE[ctypes.c_int32, [c.POINTER[struct_glsl_type], ctypes.c_bool]], _3:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_io_add_const_offset_to_base(nir:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader], ctypes.c_bool)
def nir_lower_io_passes(nir:c.POINTER[nir_shader], renumber_vs_inputs:bool) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_io_add_intrinsic_xfb_info(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_io_indirect_loads(nir:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, glsl_type_size_align_func)
def nir_lower_vars_to_explicit_types(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32, type_info:glsl_type_size_align_func) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader], ctypes.c_void_p, size_t, ctypes.c_uint32)
def nir_gather_explicit_io_initializers(shader:c.POINTER[nir_shader], dst:ctypes.c_void_p, dst_size:size_t, mode:ctypes.c_uint32) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_vec3_to_vec4(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
nir_address_format: dict[int, str] = {(nir_address_format_32bit_global:=0): 'nir_address_format_32bit_global', (nir_address_format_64bit_global:=1): 'nir_address_format_64bit_global', (nir_address_format_2x32bit_global:=2): 'nir_address_format_2x32bit_global', (nir_address_format_64bit_global_32bit_offset:=3): 'nir_address_format_64bit_global_32bit_offset', (nir_address_format_64bit_bounded_global:=4): 'nir_address_format_64bit_bounded_global', (nir_address_format_32bit_index_offset:=5): 'nir_address_format_32bit_index_offset', (nir_address_format_32bit_index_offset_pack64:=6): 'nir_address_format_32bit_index_offset_pack64', (nir_address_format_vec2_index_32bit_offset:=7): 'nir_address_format_vec2_index_32bit_offset', (nir_address_format_62bit_generic:=8): 'nir_address_format_62bit_generic', (nir_address_format_32bit_offset:=9): 'nir_address_format_32bit_offset', (nir_address_format_32bit_offset_as_64bit:=10): 'nir_address_format_32bit_offset_as_64bit', (nir_address_format_logical:=11): 'nir_address_format_logical'}
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def nir_address_format_bit_size(addr_format:ctypes.c_uint32) -> int: ...
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def nir_address_format_num_components(addr_format:ctypes.c_uint32) -> int: ...
@dll.bind(c.POINTER[nir_const_value], ctypes.c_uint32)
def nir_address_format_null_value(addr_format:ctypes.c_uint32) -> c.POINTER[nir_const_value]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], ctypes.c_uint32, ctypes.c_uint32, c.POINTER[nir_def])
def nir_build_addr_iadd(b:c.POINTER[nir_builder], addr:c.POINTER[nir_def], addr_format:ctypes.c_uint32, modes:ctypes.c_uint32, offset:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], ctypes.c_uint32, ctypes.c_uint32, int64_t)
def nir_build_addr_iadd_imm(b:c.POINTER[nir_builder], addr:c.POINTER[nir_def], addr_format:ctypes.c_uint32, modes:ctypes.c_uint32, offset:int64_t) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], c.POINTER[nir_def], ctypes.c_uint32)
def nir_build_addr_ieq(b:c.POINTER[nir_builder], addr0:c.POINTER[nir_def], addr1:c.POINTER[nir_def], addr_format:ctypes.c_uint32) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], c.POINTER[nir_def], ctypes.c_uint32)
def nir_build_addr_isub(b:c.POINTER[nir_builder], addr0:c.POINTER[nir_def], addr1:c.POINTER[nir_def], addr_format:ctypes.c_uint32) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_deref_instr], c.POINTER[nir_def], ctypes.c_uint32)
def nir_explicit_io_address_from_deref(b:c.POINTER[nir_builder], deref:c.POINTER[nir_deref_instr], base_addr:c.POINTER[nir_def], addr_format:ctypes.c_uint32) -> c.POINTER[nir_def]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_deref_instr], ctypes.c_bool, c.POINTER[uint32_t], c.POINTER[uint32_t])
def nir_get_explicit_deref_align(deref:c.POINTER[nir_deref_instr], default_to_type_align:bool, align_mul:c.POINTER[uint32_t], align_offset:c.POINTER[uint32_t]) -> bool: ...
@dll.bind(None, c.POINTER[nir_builder], c.POINTER[nir_intrinsic_instr], c.POINTER[nir_def], ctypes.c_uint32)
def nir_lower_explicit_io_instr(b:c.POINTER[nir_builder], io_instr:c.POINTER[nir_intrinsic_instr], addr:c.POINTER[nir_def], addr_format:ctypes.c_uint32) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_uint32)
def nir_lower_explicit_io(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32, _2:ctypes.c_uint32) -> bool: ...
nir_mem_access_shift_method: dict[int, str] = {(nir_mem_access_shift_method_scalar:=0): 'nir_mem_access_shift_method_scalar', (nir_mem_access_shift_method_shift64:=1): 'nir_mem_access_shift_method_shift64', (nir_mem_access_shift_method_bytealign_amd:=2): 'nir_mem_access_shift_method_bytealign_amd'}
@c.record
class struct_nir_mem_access_size_align(c.Struct):
  SIZE = 8
  num_components: int
  bit_size: int
  align: int
  shift: int
struct_nir_mem_access_size_align.register_fields([('num_components', uint8_t, 0), ('bit_size', uint8_t, 1), ('align', uint16_t, 2), ('shift', ctypes.c_uint32, 4)])
nir_mem_access_size_align: TypeAlias = struct_nir_mem_access_size_align
enum_gl_access_qualifier: dict[int, str] = {(ACCESS_COHERENT:=1): 'ACCESS_COHERENT', (ACCESS_RESTRICT:=2): 'ACCESS_RESTRICT', (ACCESS_VOLATILE:=4): 'ACCESS_VOLATILE', (ACCESS_NON_READABLE:=8): 'ACCESS_NON_READABLE', (ACCESS_NON_WRITEABLE:=16): 'ACCESS_NON_WRITEABLE', (ACCESS_NON_UNIFORM:=32): 'ACCESS_NON_UNIFORM', (ACCESS_CAN_REORDER:=64): 'ACCESS_CAN_REORDER', (ACCESS_NON_TEMPORAL:=128): 'ACCESS_NON_TEMPORAL', (ACCESS_INCLUDE_HELPERS:=256): 'ACCESS_INCLUDE_HELPERS', (ACCESS_IS_SWIZZLED_AMD:=512): 'ACCESS_IS_SWIZZLED_AMD', (ACCESS_USES_FORMAT_AMD:=1024): 'ACCESS_USES_FORMAT_AMD', (ACCESS_FMASK_LOWERED_AMD:=2048): 'ACCESS_FMASK_LOWERED_AMD', (ACCESS_CAN_SPECULATE:=4096): 'ACCESS_CAN_SPECULATE', (ACCESS_CP_GE_COHERENT_AMD:=8192): 'ACCESS_CP_GE_COHERENT_AMD', (ACCESS_IN_BOUNDS:=16384): 'ACCESS_IN_BOUNDS', (ACCESS_KEEP_SCALAR:=32768): 'ACCESS_KEEP_SCALAR', (ACCESS_SMEM_AMD:=65536): 'ACCESS_SMEM_AMD'}
nir_lower_mem_access_bit_sizes_cb: TypeAlias = c.CFUNCTYPE[struct_nir_mem_access_size_align, [ctypes.c_uint32, ctypes.c_ubyte, ctypes.c_ubyte, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_bool, ctypes.c_uint32, ctypes.c_void_p]]
@c.record
class struct_nir_lower_mem_access_bit_sizes_options(c.Struct):
  SIZE = 24
  callback: c.CFUNCTYPE[struct_nir_mem_access_size_align, [ctypes.c_uint32, ctypes.c_ubyte, ctypes.c_ubyte, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_bool, ctypes.c_uint32, ctypes.c_void_p]]
  modes: int
  may_lower_unaligned_stores_to_atomics: bool
  cb_data: ctypes.c_void_p
struct_nir_lower_mem_access_bit_sizes_options.register_fields([('callback', nir_lower_mem_access_bit_sizes_cb, 0), ('modes', ctypes.c_uint32, 8), ('may_lower_unaligned_stores_to_atomics', ctypes.c_bool, 12), ('cb_data', ctypes.c_void_p, 16)])
nir_lower_mem_access_bit_sizes_options: TypeAlias = struct_nir_lower_mem_access_bit_sizes_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_mem_access_bit_sizes_options])
def nir_lower_mem_access_bit_sizes(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_mem_access_bit_sizes_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_intrin_filter_cb, ctypes.c_void_p)
def nir_lower_robust_access(s:c.POINTER[nir_shader], filter:nir_intrin_filter_cb, data:ctypes.c_void_p) -> bool: ...
nir_should_vectorize_mem_func: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_int64, c.POINTER[struct_nir_intrinsic_instr], c.POINTER[struct_nir_intrinsic_instr], ctypes.c_void_p]]
@c.record
class struct_nir_load_store_vectorize_options(c.Struct):
  SIZE = 32
  callback: c.CFUNCTYPE[ctypes.c_bool, [ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_int64, c.POINTER[struct_nir_intrinsic_instr], c.POINTER[struct_nir_intrinsic_instr], ctypes.c_void_p]]
  modes: int
  robust_modes: int
  cb_data: ctypes.c_void_p
  has_shared2_amd: bool
struct_nir_load_store_vectorize_options.register_fields([('callback', nir_should_vectorize_mem_func, 0), ('modes', ctypes.c_uint32, 8), ('robust_modes', ctypes.c_uint32, 12), ('cb_data', ctypes.c_void_p, 16), ('has_shared2_amd', ctypes.c_bool, 24)])
nir_load_store_vectorize_options: TypeAlias = struct_nir_load_store_vectorize_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_load_store_vectorize_options])
def nir_opt_load_store_vectorize(shader:c.POINTER[nir_shader], options:c.POINTER[nir_load_store_vectorize_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_load_store_update_alignments(shader:c.POINTER[nir_shader]) -> bool: ...
nir_lower_shader_calls_should_remat_func: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
@c.record
class struct_nir_lower_shader_calls_options(c.Struct):
  SIZE = 48
  address_format: int
  stack_alignment: int
  localized_loads: bool
  vectorizer_callback: c.CFUNCTYPE[ctypes.c_bool, [ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_int64, c.POINTER[struct_nir_intrinsic_instr], c.POINTER[struct_nir_intrinsic_instr], ctypes.c_void_p]]
  vectorizer_data: ctypes.c_void_p
  should_remat_callback: c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
  should_remat_data: ctypes.c_void_p
struct_nir_lower_shader_calls_options.register_fields([('address_format', ctypes.c_uint32, 0), ('stack_alignment', ctypes.c_uint32, 4), ('localized_loads', ctypes.c_bool, 8), ('vectorizer_callback', nir_should_vectorize_mem_func, 16), ('vectorizer_data', ctypes.c_void_p, 24), ('should_remat_callback', nir_lower_shader_calls_should_remat_func, 32), ('should_remat_data', ctypes.c_void_p, 40)])
nir_lower_shader_calls_options: TypeAlias = struct_nir_lower_shader_calls_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_shader_calls_options], c.POINTER[c.POINTER[c.POINTER[nir_shader]]], c.POINTER[uint32_t], ctypes.c_void_p)
def nir_lower_shader_calls(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_shader_calls_options], resume_shaders_out:c.POINTER[c.POINTER[c.POINTER[nir_shader]]], num_resume_shaders_out:c.POINTER[uint32_t], mem_ctx:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_int32, c.POINTER[nir_intrinsic_instr])
def nir_get_io_offset_src_number(instr:c.POINTER[nir_intrinsic_instr]) -> int: ...
@dll.bind(ctypes.c_int32, c.POINTER[nir_intrinsic_instr])
def nir_get_io_index_src_number(instr:c.POINTER[nir_intrinsic_instr]) -> int: ...
@dll.bind(ctypes.c_int32, c.POINTER[nir_intrinsic_instr])
def nir_get_io_arrayed_index_src_number(instr:c.POINTER[nir_intrinsic_instr]) -> int: ...
@dll.bind(c.POINTER[nir_src], c.POINTER[nir_intrinsic_instr])
def nir_get_io_offset_src(instr:c.POINTER[nir_intrinsic_instr]) -> c.POINTER[nir_src]: ...
@dll.bind(c.POINTER[nir_src], c.POINTER[nir_intrinsic_instr])
def nir_get_io_index_src(instr:c.POINTER[nir_intrinsic_instr]) -> c.POINTER[nir_src]: ...
@dll.bind(c.POINTER[nir_src], c.POINTER[nir_intrinsic_instr])
def nir_get_io_arrayed_index_src(instr:c.POINTER[nir_intrinsic_instr]) -> c.POINTER[nir_src]: ...
@dll.bind(c.POINTER[nir_src], c.POINTER[nir_intrinsic_instr])
def nir_get_shader_call_payload_src(call:c.POINTER[nir_intrinsic_instr]) -> c.POINTER[nir_src]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_intrinsic_instr])
def nir_is_output_load(intr:c.POINTER[nir_intrinsic_instr]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_variable], gl_shader_stage)
def nir_is_arrayed_io(var:c.POINTER[nir_variable], stage:gl_shader_stage) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl])
def nir_lower_reg_intrinsics_to_ssa_impl(impl:c.POINTER[nir_function_impl]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_reg_intrinsics_to_ssa(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_vars_to_ssa(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_remove_dead_derefs(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl])
def nir_remove_dead_derefs_impl(impl:c.POINTER[nir_function_impl]) -> bool: ...
@c.record
class struct_nir_remove_dead_variables_options(c.Struct):
  SIZE = 16
  can_remove_var: c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_variable], ctypes.c_void_p]]
  can_remove_var_data: ctypes.c_void_p
struct_nir_remove_dead_variables_options.register_fields([('can_remove_var', c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[nir_variable], ctypes.c_void_p]], 0), ('can_remove_var_data', ctypes.c_void_p, 8)])
nir_remove_dead_variables_options: TypeAlias = struct_nir_remove_dead_variables_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, c.POINTER[nir_remove_dead_variables_options])
def nir_remove_dead_variables(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32, options:c.POINTER[nir_remove_dead_variables_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_variable_initializers(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_uint32)
def nir_zero_initialize_shared_memory(shader:c.POINTER[nir_shader], shared_size:int, chunk_size:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_uint32)
def nir_clear_shared_memory(shader:c.POINTER[nir_shader], shared_size:int, chunk_size:int) -> bool: ...
nir_opt_move_to_top_options: dict[int, str] = {(nir_move_to_entry_block_only:=1): 'nir_move_to_entry_block_only', (nir_move_to_top_input_loads:=2): 'nir_move_to_top_input_loads', (nir_move_to_top_load_smem_amd:=4): 'nir_move_to_top_load_smem_amd'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_opt_move_to_top(nir:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_move_vec_src_uses_to_dest(shader:c.POINTER[nir_shader], skip_const_srcs:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_move_output_stores_to_end(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_instr_writemask_filter_cb, ctypes.c_void_p)
def nir_lower_vec_to_regs(shader:c.POINTER[nir_shader], cb:nir_instr_writemask_filter_cb, _data:ctypes.c_void_p) -> bool: ...
enum_compare_func: dict[int, str] = {(COMPARE_FUNC_NEVER:=0): 'COMPARE_FUNC_NEVER', (COMPARE_FUNC_LESS:=1): 'COMPARE_FUNC_LESS', (COMPARE_FUNC_EQUAL:=2): 'COMPARE_FUNC_EQUAL', (COMPARE_FUNC_LEQUAL:=3): 'COMPARE_FUNC_LEQUAL', (COMPARE_FUNC_GREATER:=4): 'COMPARE_FUNC_GREATER', (COMPARE_FUNC_NOTEQUAL:=5): 'COMPARE_FUNC_NOTEQUAL', (COMPARE_FUNC_GEQUAL:=6): 'COMPARE_FUNC_GEQUAL', (COMPARE_FUNC_ALWAYS:=7): 'COMPARE_FUNC_ALWAYS'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_bool, c.POINTER[gl_state_index16])
def nir_lower_alpha_test(shader:c.POINTER[nir_shader], func:ctypes.c_uint32, alpha_to_one:bool, alpha_ref_state_tokens:c.POINTER[gl_state_index16]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], uint8_t, ctypes.c_bool)
def nir_lower_alpha_to_coverage(shader:c.POINTER[nir_shader], nr_samples:uint8_t, has_intrinsic:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_alpha_to_one(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_alu(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_bool)
def nir_lower_flrp(shader:c.POINTER[nir_shader], lowering_mask:int, always_precise:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_scale_fdiv(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_instr_filter_cb, ctypes.c_void_p)
def nir_lower_alu_to_scalar(shader:c.POINTER[nir_shader], cb:nir_instr_filter_cb, data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_vectorize_cb, ctypes.c_void_p)
def nir_lower_alu_width(shader:c.POINTER[nir_shader], cb:nir_vectorize_cb, data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_alu_vec8_16_srcs(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_bool_to_bitsize(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_lower_bool_to_float(shader:c.POINTER[nir_shader], has_fcsel_ne:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_bool_to_int32(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_simplify_convert_alu_types(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_const_arrays_to_uniforms(shader:c.POINTER[nir_shader], max_uniform_components:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[nir_intrinsic_instr]]])
def nir_lower_convert_alu_types(shader:c.POINTER[nir_shader], should_lower:c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[nir_intrinsic_instr]]]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_constant_convert_alu_types(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_alu_conversion_to_intrinsic(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_int_to_float(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_load_const_to_scalar(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_read_invocation_to_scalar(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_vectorize_cb, ctypes.c_void_p)
def nir_lower_phis_to_scalar(shader:c.POINTER[nir_shader], cb:nir_vectorize_cb, data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_all_phis_to_scalar(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_shader])
def nir_lower_io_array_vars_to_elements(producer:c.POINTER[nir_shader], consumer:c.POINTER[nir_shader]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_lower_io_array_vars_to_elements_no_indirects(shader:c.POINTER[nir_shader], outputs_only:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, nir_instr_filter_cb, ctypes.c_void_p)
def nir_lower_io_to_scalar(shader:c.POINTER[nir_shader], mask:ctypes.c_uint32, filter:nir_instr_filter_cb, filter_data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_io_vars_to_scalar(shader:c.POINTER[nir_shader], mask:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_opt_vectorize_io_vars(shader:c.POINTER[nir_shader], mask:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_tess_level_array_vars_to_vec(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(c.POINTER[nir_shader], c.POINTER[nir_shader_compiler_options], c.POINTER[ctypes.c_uint32], ctypes.c_uint32, uint8_t)
def nir_create_passthrough_tcs_impl(options:c.POINTER[nir_shader_compiler_options], locations:c.POINTER[ctypes.c_uint32], num_locations:int, patch_vertices:uint8_t) -> c.POINTER[nir_shader]: ...
@dll.bind(c.POINTER[nir_shader], c.POINTER[nir_shader_compiler_options], c.POINTER[nir_shader], uint8_t)
def nir_create_passthrough_tcs(options:c.POINTER[nir_shader_compiler_options], vs:c.POINTER[nir_shader], patch_vertices:uint8_t) -> c.POINTER[nir_shader]: ...
@dll.bind(c.POINTER[nir_shader], c.POINTER[nir_shader_compiler_options], c.POINTER[nir_shader], ctypes.c_ubyte, ctypes.c_ubyte, ctypes.c_bool, ctypes.c_bool, ctypes.c_bool)
def nir_create_passthrough_gs(options:c.POINTER[nir_shader_compiler_options], prev_stage:c.POINTER[nir_shader], primitive_type:ctypes.c_ubyte, output_primitive_type:ctypes.c_ubyte, emulate_edgeflags:bool, force_line_strip_out:bool, passthrough_prim_id:bool) -> c.POINTER[nir_shader]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_fragcolor(shader:c.POINTER[nir_shader], max_cbufs:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_fragcoord_wtrans(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_frag_coord_to_pixel_coord(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_frag_coord_to_pixel_coord(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_viewport_transform(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool, ctypes.c_bool)
def nir_lower_uniforms_to_ubo(shader:c.POINTER[nir_shader], dword_packed:bool, load_vec4:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_is_helper_invocation(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_single_sampled(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_instr_filter_cb)
def nir_lower_atomics(shader:c.POINTER[nir_shader], filter:nir_instr_filter_cb) -> bool: ...
@c.record
class struct_nir_lower_subgroups_options(c.Struct):
  SIZE = 24
  filter: c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
  filter_data: ctypes.c_void_p
  subgroup_size: int
  ballot_bit_size: int
  ballot_components: int
  lower_to_scalar: bool
  lower_vote_trivial: bool
  lower_vote_feq: bool
  lower_vote_ieq: bool
  lower_vote_bool_eq: bool
  lower_first_invocation_to_ballot: bool
  lower_read_first_invocation: bool
  lower_subgroup_masks: bool
  lower_relative_shuffle: bool
  lower_shuffle_to_32bit: bool
  lower_shuffle_to_swizzle_amd: bool
  lower_shuffle: bool
  lower_quad: bool
  lower_quad_broadcast_dynamic: bool
  lower_quad_broadcast_dynamic_to_const: bool
  lower_quad_vote: bool
  lower_elect: bool
  lower_read_invocation_to_cond: bool
  lower_rotate_to_shuffle: bool
  lower_rotate_clustered_to_shuffle: bool
  lower_ballot_bit_count_to_mbcnt_amd: bool
  lower_inverse_ballot: bool
  lower_reduce: bool
  lower_boolean_reduce: bool
  lower_boolean_shuffle: bool
struct_nir_lower_subgroups_options.register_fields([('filter', nir_instr_filter_cb, 0), ('filter_data', ctypes.c_void_p, 8), ('subgroup_size', uint8_t, 16), ('ballot_bit_size', uint8_t, 17), ('ballot_components', uint8_t, 18), ('lower_to_scalar', ctypes.c_bool, 19, 1, 0), ('lower_vote_trivial', ctypes.c_bool, 19, 1, 1), ('lower_vote_feq', ctypes.c_bool, 19, 1, 2), ('lower_vote_ieq', ctypes.c_bool, 19, 1, 3), ('lower_vote_bool_eq', ctypes.c_bool, 19, 1, 4), ('lower_first_invocation_to_ballot', ctypes.c_bool, 19, 1, 5), ('lower_read_first_invocation', ctypes.c_bool, 19, 1, 6), ('lower_subgroup_masks', ctypes.c_bool, 19, 1, 7), ('lower_relative_shuffle', ctypes.c_bool, 20, 1, 0), ('lower_shuffle_to_32bit', ctypes.c_bool, 20, 1, 1), ('lower_shuffle_to_swizzle_amd', ctypes.c_bool, 20, 1, 2), ('lower_shuffle', ctypes.c_bool, 20, 1, 3), ('lower_quad', ctypes.c_bool, 20, 1, 4), ('lower_quad_broadcast_dynamic', ctypes.c_bool, 20, 1, 5), ('lower_quad_broadcast_dynamic_to_const', ctypes.c_bool, 20, 1, 6), ('lower_quad_vote', ctypes.c_bool, 20, 1, 7), ('lower_elect', ctypes.c_bool, 21, 1, 0), ('lower_read_invocation_to_cond', ctypes.c_bool, 21, 1, 1), ('lower_rotate_to_shuffle', ctypes.c_bool, 21, 1, 2), ('lower_rotate_clustered_to_shuffle', ctypes.c_bool, 21, 1, 3), ('lower_ballot_bit_count_to_mbcnt_amd', ctypes.c_bool, 21, 1, 4), ('lower_inverse_ballot', ctypes.c_bool, 21, 1, 5), ('lower_reduce', ctypes.c_bool, 21, 1, 6), ('lower_boolean_reduce', ctypes.c_bool, 21, 1, 7), ('lower_boolean_shuffle', ctypes.c_bool, 22, 1, 0)])
nir_lower_subgroups_options: TypeAlias = struct_nir_lower_subgroups_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_subgroups_options])
def nir_lower_subgroups(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_subgroups_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_system_values(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder])
def nir_build_lowered_load_helper_invocation(b:c.POINTER[nir_builder]) -> c.POINTER[nir_def]: ...
@c.record
class struct_nir_lower_compute_system_values_options(c.Struct):
  SIZE = 16
  has_base_global_invocation_id: bool
  has_base_workgroup_id: bool
  has_global_size: bool
  shuffle_local_ids_for_quad_derivatives: bool
  lower_local_invocation_index: bool
  lower_cs_local_id_to_index: bool
  lower_workgroup_id_to_index: bool
  global_id_is_32bit: bool
  shortcut_1d_workgroup_id: bool
  num_workgroups: c.Array[ctypes.c_uint32, Literal[3]]
struct_nir_lower_compute_system_values_options.register_fields([('has_base_global_invocation_id', ctypes.c_bool, 0, 1, 0), ('has_base_workgroup_id', ctypes.c_bool, 0, 1, 1), ('has_global_size', ctypes.c_bool, 0, 1, 2), ('shuffle_local_ids_for_quad_derivatives', ctypes.c_bool, 0, 1, 3), ('lower_local_invocation_index', ctypes.c_bool, 0, 1, 4), ('lower_cs_local_id_to_index', ctypes.c_bool, 0, 1, 5), ('lower_workgroup_id_to_index', ctypes.c_bool, 0, 1, 6), ('global_id_is_32bit', ctypes.c_bool, 0, 1, 7), ('shortcut_1d_workgroup_id', ctypes.c_bool, 1, 1, 0), ('num_workgroups', c.Array[uint32_t, Literal[3]], 4)])
nir_lower_compute_system_values_options: TypeAlias = struct_nir_lower_compute_system_values_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_compute_system_values_options])
def nir_lower_compute_system_values(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_compute_system_values_options]) -> bool: ...
@c.record
class struct_nir_lower_sysvals_to_varyings_options(c.Struct):
  SIZE = 1
  frag_coord: bool
  front_face: bool
  point_coord: bool
struct_nir_lower_sysvals_to_varyings_options.register_fields([('frag_coord', ctypes.c_bool, 0, 1, 0), ('front_face', ctypes.c_bool, 0, 1, 1), ('point_coord', ctypes.c_bool, 0, 1, 2)])
nir_lower_sysvals_to_varyings_options: TypeAlias = struct_nir_lower_sysvals_to_varyings_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_sysvals_to_varyings_options])
def nir_lower_sysvals_to_varyings(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_sysvals_to_varyings_options]) -> bool: ...
enum_nir_lower_tex_packing: dict[int, str] = {(nir_lower_tex_packing_none:=0): 'nir_lower_tex_packing_none', (nir_lower_tex_packing_16:=1): 'nir_lower_tex_packing_16', (nir_lower_tex_packing_8:=2): 'nir_lower_tex_packing_8'}
@c.record
class struct_nir_lower_tex_options(c.Struct):
  SIZE = 416
  lower_txp: int
  lower_txp_array: bool
  lower_txf_offset: bool
  lower_rect_offset: bool
  lower_offset_filter: c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
  lower_rect: bool
  lower_1d: bool
  lower_1d_shadow: bool
  lower_y_uv_external: int
  lower_y_vu_external: int
  lower_y_u_v_external: int
  lower_yx_xuxv_external: int
  lower_yx_xvxu_external: int
  lower_xy_uxvx_external: int
  lower_xy_vxux_external: int
  lower_ayuv_external: int
  lower_xyuv_external: int
  lower_yuv_external: int
  lower_yu_yv_external: int
  lower_yv_yu_external: int
  lower_y41x_external: int
  lower_sx10_external: int
  lower_sx12_external: int
  bt709_external: int
  bt2020_external: int
  yuv_full_range_external: int
  saturate_s: int
  saturate_t: int
  saturate_r: int
  swizzle_result: int
  swizzles: c.Array[c.Array[ctypes.c_ubyte, Literal[4]], Literal[32]]
  scale_factors: c.Array[ctypes.c_float, Literal[32]]
  lower_srgb: int
  lower_txd_cube_map: bool
  lower_txd_3d: bool
  lower_txd_array: bool
  lower_txd_shadow: bool
  lower_txd: bool
  lower_txd_clamp: bool
  lower_txb_shadow_clamp: bool
  lower_txd_shadow_clamp: bool
  lower_txd_offset_clamp: bool
  lower_txd_clamp_bindless_sampler: bool
  lower_txd_clamp_if_sampler_index_not_lt_16: bool
  lower_txs_lod: bool
  lower_txs_cube_array: bool
  lower_tg4_broadcom_swizzle: bool
  lower_tg4_offsets: bool
  lower_to_fragment_fetch_amd: bool
  lower_tex_packing_cb: c.CFUNCTYPE[ctypes.c_ubyte, [c.POINTER[struct_nir_tex_instr], ctypes.c_void_p]]
  lower_tex_packing_data: ctypes.c_void_p
  lower_lod_zero_width: bool
  lower_sampler_lod_bias: bool
  lower_invalid_implicit_lod: bool
  lower_index_to_offset: bool
  callback_data: ctypes.c_void_p
struct_nir_lower_tex_options.register_fields([('lower_txp', ctypes.c_uint32, 0), ('lower_txp_array', ctypes.c_bool, 4), ('lower_txf_offset', ctypes.c_bool, 5), ('lower_rect_offset', ctypes.c_bool, 6), ('lower_offset_filter', nir_instr_filter_cb, 8), ('lower_rect', ctypes.c_bool, 16), ('lower_1d', ctypes.c_bool, 17), ('lower_1d_shadow', ctypes.c_bool, 18), ('lower_y_uv_external', ctypes.c_uint32, 20), ('lower_y_vu_external', ctypes.c_uint32, 24), ('lower_y_u_v_external', ctypes.c_uint32, 28), ('lower_yx_xuxv_external', ctypes.c_uint32, 32), ('lower_yx_xvxu_external', ctypes.c_uint32, 36), ('lower_xy_uxvx_external', ctypes.c_uint32, 40), ('lower_xy_vxux_external', ctypes.c_uint32, 44), ('lower_ayuv_external', ctypes.c_uint32, 48), ('lower_xyuv_external', ctypes.c_uint32, 52), ('lower_yuv_external', ctypes.c_uint32, 56), ('lower_yu_yv_external', ctypes.c_uint32, 60), ('lower_yv_yu_external', ctypes.c_uint32, 64), ('lower_y41x_external', ctypes.c_uint32, 68), ('lower_sx10_external', ctypes.c_uint32, 72), ('lower_sx12_external', ctypes.c_uint32, 76), ('bt709_external', ctypes.c_uint32, 80), ('bt2020_external', ctypes.c_uint32, 84), ('yuv_full_range_external', ctypes.c_uint32, 88), ('saturate_s', ctypes.c_uint32, 92), ('saturate_t', ctypes.c_uint32, 96), ('saturate_r', ctypes.c_uint32, 100), ('swizzle_result', ctypes.c_uint32, 104), ('swizzles', c.Array[c.Array[uint8_t, Literal[4]], Literal[32]], 108), ('scale_factors', c.Array[ctypes.c_float, Literal[32]], 236), ('lower_srgb', ctypes.c_uint32, 364), ('lower_txd_cube_map', ctypes.c_bool, 368), ('lower_txd_3d', ctypes.c_bool, 369), ('lower_txd_array', ctypes.c_bool, 370), ('lower_txd_shadow', ctypes.c_bool, 371), ('lower_txd', ctypes.c_bool, 372), ('lower_txd_clamp', ctypes.c_bool, 373), ('lower_txb_shadow_clamp', ctypes.c_bool, 374), ('lower_txd_shadow_clamp', ctypes.c_bool, 375), ('lower_txd_offset_clamp', ctypes.c_bool, 376), ('lower_txd_clamp_bindless_sampler', ctypes.c_bool, 377), ('lower_txd_clamp_if_sampler_index_not_lt_16', ctypes.c_bool, 378), ('lower_txs_lod', ctypes.c_bool, 379), ('lower_txs_cube_array', ctypes.c_bool, 380), ('lower_tg4_broadcom_swizzle', ctypes.c_bool, 381), ('lower_tg4_offsets', ctypes.c_bool, 382), ('lower_to_fragment_fetch_amd', ctypes.c_bool, 383), ('lower_tex_packing_cb', c.CFUNCTYPE[ctypes.c_ubyte, [c.POINTER[nir_tex_instr], ctypes.c_void_p]], 384), ('lower_tex_packing_data', ctypes.c_void_p, 392), ('lower_lod_zero_width', ctypes.c_bool, 400), ('lower_sampler_lod_bias', ctypes.c_bool, 401), ('lower_invalid_implicit_lod', ctypes.c_bool, 402), ('lower_index_to_offset', ctypes.c_bool, 403), ('callback_data', ctypes.c_void_p, 408)])
nir_lower_tex_options: TypeAlias = struct_nir_lower_tex_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_tex_options])
def nir_lower_tex(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_tex_options]) -> bool: ...
@c.record
class struct_nir_lower_tex_shadow_swizzle(c.Struct):
  SIZE = 4
  swizzle_r: int
  swizzle_g: int
  swizzle_b: int
  swizzle_a: int
struct_nir_lower_tex_shadow_swizzle.register_fields([('swizzle_r', ctypes.c_uint32, 0, 3, 0), ('swizzle_g', ctypes.c_uint32, 0, 3, 3), ('swizzle_b', ctypes.c_uint32, 0, 3, 6), ('swizzle_a', ctypes.c_uint32, 1, 3, 1)])
nir_lower_tex_shadow_swizzle: TypeAlias = struct_nir_lower_tex_shadow_swizzle
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, c.POINTER[ctypes.c_uint32], c.POINTER[nir_lower_tex_shadow_swizzle], ctypes.c_bool)
def nir_lower_tex_shadow(s:c.POINTER[nir_shader], n_states:int, compare_func:c.POINTER[ctypes.c_uint32], tex_swizzles:c.POINTER[nir_lower_tex_shadow_swizzle], is_fixed_point_format:bool) -> bool: ...
@c.record
class struct_nir_lower_image_options(c.Struct):
  SIZE = 3
  lower_cube_size: bool
  lower_to_fragment_mask_load_amd: bool
  lower_image_samples_to_one: bool
struct_nir_lower_image_options.register_fields([('lower_cube_size', ctypes.c_bool, 0), ('lower_to_fragment_mask_load_amd', ctypes.c_bool, 1), ('lower_image_samples_to_one', ctypes.c_bool, 2)])
nir_lower_image_options: TypeAlias = struct_nir_lower_image_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_image_options])
def nir_lower_image(nir:c.POINTER[nir_shader], options:c.POINTER[nir_lower_image_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_intrin_filter_cb, ctypes.c_void_p)
def nir_lower_image_atomics_to_global(s:c.POINTER[nir_shader], filter:nir_intrin_filter_cb, data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_lower_readonly_images_to_tex(shader:c.POINTER[nir_shader], per_variable:bool) -> bool: ...
enum_nir_lower_non_uniform_access_type: dict[int, str] = {(nir_lower_non_uniform_ubo_access:=1): 'nir_lower_non_uniform_ubo_access', (nir_lower_non_uniform_ssbo_access:=2): 'nir_lower_non_uniform_ssbo_access', (nir_lower_non_uniform_texture_access:=4): 'nir_lower_non_uniform_texture_access', (nir_lower_non_uniform_image_access:=8): 'nir_lower_non_uniform_image_access', (nir_lower_non_uniform_get_ssbo_size:=16): 'nir_lower_non_uniform_get_ssbo_size', (nir_lower_non_uniform_texture_offset_access:=32): 'nir_lower_non_uniform_texture_offset_access', (nir_lower_non_uniform_access_type_count:=6): 'nir_lower_non_uniform_access_type_count'}
nir_lower_non_uniform_src_access_callback: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_tex_instr], ctypes.c_uint32, ctypes.c_void_p]]
nir_lower_non_uniform_access_callback: TypeAlias = c.CFUNCTYPE[ctypes.c_uint16, [c.POINTER[struct_nir_src], ctypes.c_void_p]]
@c.record
class struct_nir_lower_non_uniform_access_options(c.Struct):
  SIZE = 32
  types: int
  tex_src_callback: c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_tex_instr], ctypes.c_uint32, ctypes.c_void_p]]
  callback: c.CFUNCTYPE[ctypes.c_uint16, [c.POINTER[struct_nir_src], ctypes.c_void_p]]
  callback_data: ctypes.c_void_p
struct_nir_lower_non_uniform_access_options.register_fields([('types', ctypes.c_uint32, 0), ('tex_src_callback', nir_lower_non_uniform_src_access_callback, 8), ('callback', nir_lower_non_uniform_access_callback, 16), ('callback_data', ctypes.c_void_p, 24)])
nir_lower_non_uniform_access_options: TypeAlias = struct_nir_lower_non_uniform_access_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_has_non_uniform_access(shader:c.POINTER[nir_shader], types:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_non_uniform_access(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_non_uniform_access_options])
def nir_lower_non_uniform_access(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_non_uniform_access_options]) -> bool: ...
@c.record
class struct_nir_lower_idiv_options(c.Struct):
  SIZE = 1
  allow_fp16: bool
struct_nir_lower_idiv_options.register_fields([('allow_fp16', ctypes.c_bool, 0)])
nir_lower_idiv_options: TypeAlias = struct_nir_lower_idiv_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_idiv_options])
def nir_lower_idiv(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_idiv_options]) -> bool: ...
@c.record
class struct_nir_input_attachment_options(c.Struct):
  SIZE = 12
  use_ia_coord_intrin: bool
  use_fragcoord_sysval: bool
  use_layer_id_sysval: bool
  use_view_id_for_layer: bool
  unscaled_depth_stencil_ir3: bool
  unscaled_input_attachment_ir3: int
struct_nir_input_attachment_options.register_fields([('use_ia_coord_intrin', ctypes.c_bool, 0), ('use_fragcoord_sysval', ctypes.c_bool, 1), ('use_layer_id_sysval', ctypes.c_bool, 2), ('use_view_id_for_layer', ctypes.c_bool, 3), ('unscaled_depth_stencil_ir3', ctypes.c_bool, 4), ('unscaled_input_attachment_ir3', uint32_t, 8)])
nir_input_attachment_options: TypeAlias = struct_nir_input_attachment_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_input_attachment_options])
def nir_lower_input_attachments(shader:c.POINTER[nir_shader], options:c.POINTER[nir_input_attachment_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_bool, ctypes.c_bool, c.Array[c.Array[gl_state_index16, Literal[4]], Literal[0]])
def nir_lower_clip_vs(shader:c.POINTER[nir_shader], ucp_enables:int, use_vars:bool, use_clipdist_array:bool, clipplane_state_tokens:c.Array[c.Array[gl_state_index16, Literal[4]], Literal[0]]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_bool, c.Array[c.Array[gl_state_index16, Literal[4]], Literal[0]])
def nir_lower_clip_gs(shader:c.POINTER[nir_shader], ucp_enables:int, use_clipdist_array:bool, clipplane_state_tokens:c.Array[c.Array[gl_state_index16, Literal[4]], Literal[0]]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_bool, ctypes.c_bool)
def nir_lower_clip_fs(shader:c.POINTER[nir_shader], ucp_enables:int, use_clipdist_array:bool, use_load_interp:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_clip_cull_distance_to_vec4s(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_clip_cull_distance_array_vars(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_clip_disable(shader:c.POINTER[nir_shader], clip_plane_enable:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[gl_state_index16])
def nir_lower_point_size_mov(shader:c.POINTER[nir_shader], pointsize_state_tokens:c.POINTER[gl_state_index16]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_frexp(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_lower_two_sided_color(shader:c.POINTER[nir_shader], face_sysval:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_clamp_color_outputs(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_flatshade(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_passthrough_edgeflags(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, c.POINTER[gl_state_index16])
def nir_lower_patch_vertices(nir:c.POINTER[nir_shader], static_count:int, uniform_state_tokens:c.POINTER[gl_state_index16]) -> bool: ...
@c.record
class struct_nir_lower_wpos_ytransform_options(c.Struct):
  SIZE = 10
  state_tokens: c.Array[ctypes.c_int16, Literal[4]]
  fs_coord_origin_upper_left: bool
  fs_coord_origin_lower_left: bool
  fs_coord_pixel_center_integer: bool
  fs_coord_pixel_center_half_integer: bool
struct_nir_lower_wpos_ytransform_options.register_fields([('state_tokens', c.Array[gl_state_index16, Literal[4]], 0), ('fs_coord_origin_upper_left', ctypes.c_bool, 8, 1, 0), ('fs_coord_origin_lower_left', ctypes.c_bool, 8, 1, 1), ('fs_coord_pixel_center_integer', ctypes.c_bool, 8, 1, 2), ('fs_coord_pixel_center_half_integer', ctypes.c_bool, 8, 1, 3)])
nir_lower_wpos_ytransform_options: TypeAlias = struct_nir_lower_wpos_ytransform_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_wpos_ytransform_options])
def nir_lower_wpos_ytransform(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_wpos_ytransform_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_wpos_center(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.Array[c.Array[gl_state_index16, Literal[4]], Literal[0]])
def nir_lower_pntc_ytransform(shader:c.POINTER[nir_shader], clipplane_state_tokens:c.Array[c.Array[gl_state_index16, Literal[4]], Literal[0]]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_instr_filter_cb, ctypes.c_void_p)
def nir_lower_wrmasks(shader:c.POINTER[nir_shader], cb:nir_instr_filter_cb, data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_fb_read(shader:c.POINTER[nir_shader]) -> bool: ...
@c.record
class struct_nir_lower_drawpixels_options(c.Struct):
  SIZE = 36
  texcoord_state_tokens: c.Array[ctypes.c_int16, Literal[4]]
  scale_state_tokens: c.Array[ctypes.c_int16, Literal[4]]
  bias_state_tokens: c.Array[ctypes.c_int16, Literal[4]]
  drawpix_sampler: int
  pixelmap_sampler: int
  pixel_maps: bool
  scale_and_bias: bool
struct_nir_lower_drawpixels_options.register_fields([('texcoord_state_tokens', c.Array[gl_state_index16, Literal[4]], 0), ('scale_state_tokens', c.Array[gl_state_index16, Literal[4]], 8), ('bias_state_tokens', c.Array[gl_state_index16, Literal[4]], 16), ('drawpix_sampler', ctypes.c_uint32, 24), ('pixelmap_sampler', ctypes.c_uint32, 28), ('pixel_maps', ctypes.c_bool, 32, 1, 0), ('scale_and_bias', ctypes.c_bool, 32, 1, 1)])
nir_lower_drawpixels_options: TypeAlias = struct_nir_lower_drawpixels_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_drawpixels_options])
def nir_lower_drawpixels(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_drawpixels_options]) -> bool: ...
@c.record
class struct_nir_lower_bitmap_options(c.Struct):
  SIZE = 8
  sampler: int
  swizzle_xxxx: bool
struct_nir_lower_bitmap_options.register_fields([('sampler', ctypes.c_uint32, 0), ('swizzle_xxxx', ctypes.c_bool, 4)])
nir_lower_bitmap_options: TypeAlias = struct_nir_lower_bitmap_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_bitmap_options])
def nir_lower_bitmap(shader:c.POINTER[nir_shader], options:c.POINTER[nir_lower_bitmap_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_atomics_to_ssbo(shader:c.POINTER[nir_shader], offset_align_state:int) -> bool: ...
nir_lower_gs_intrinsics_flags: dict[int, str] = {(nir_lower_gs_intrinsics_per_stream:=1): 'nir_lower_gs_intrinsics_per_stream', (nir_lower_gs_intrinsics_count_primitives:=2): 'nir_lower_gs_intrinsics_count_primitives', (nir_lower_gs_intrinsics_count_vertices_per_primitive:=4): 'nir_lower_gs_intrinsics_count_vertices_per_primitive', (nir_lower_gs_intrinsics_overwrite_incomplete:=8): 'nir_lower_gs_intrinsics_overwrite_incomplete'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_gs_intrinsics(shader:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_halt_to_return(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_lower_tess_coord_z(shader:c.POINTER[nir_shader], triangles:bool) -> bool: ...
@c.record
class struct_nir_lower_task_shader_options(c.Struct):
  SIZE = 8
  payload_to_shared_for_atomics: bool
  payload_to_shared_for_small_types: bool
  payload_offset_in_bytes: int
struct_nir_lower_task_shader_options.register_fields([('payload_to_shared_for_atomics', ctypes.c_bool, 0, 1, 0), ('payload_to_shared_for_small_types', ctypes.c_bool, 0, 1, 1), ('payload_offset_in_bytes', uint32_t, 4)])
nir_lower_task_shader_options: TypeAlias = struct_nir_lower_task_shader_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_lower_task_shader_options)
def nir_lower_task_shader(shader:c.POINTER[nir_shader], options:nir_lower_task_shader_options) -> bool: ...
nir_lower_bit_size_callback: TypeAlias = c.CFUNCTYPE[ctypes.c_uint32, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_lower_bit_size_callback, ctypes.c_void_p)
def nir_lower_bit_size(shader:c.POINTER[nir_shader], callback:nir_lower_bit_size_callback, callback_data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_64bit_phis(shader:c.POINTER[nir_shader]) -> bool: ...
@c.record
class struct_nir_split_conversions_options(c.Struct):
  SIZE = 24
  callback: c.CFUNCTYPE[ctypes.c_uint32, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
  callback_data: ctypes.c_void_p
  has_convert_alu_types: bool
struct_nir_split_conversions_options.register_fields([('callback', nir_lower_bit_size_callback, 0), ('callback_data', ctypes.c_void_p, 8), ('has_convert_alu_types', ctypes.c_bool, 16)])
nir_split_conversions_options: TypeAlias = struct_nir_split_conversions_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_split_conversions_options])
def nir_split_conversions(shader:c.POINTER[nir_shader], options:c.POINTER[nir_split_conversions_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_split_64bit_vec3_and_vec4(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def nir_lower_int64_op_to_options_mask(opcode:ctypes.c_uint32) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_int64(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_int64_float_conversions(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def nir_lower_doubles_op_to_options_mask(opcode:ctypes.c_uint32) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_doubles(shader:c.POINTER[nir_shader], softfp64:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_pack(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(c.POINTER[nir_intrinsic_instr], c.POINTER[nir_instr], ctypes.c_uint32, c.POINTER[ctypes.c_uint32])
def nir_get_io_intrinsic(instr:c.POINTER[nir_instr], modes:ctypes.c_uint32, out_mode:c.POINTER[ctypes.c_uint32]) -> c.POINTER[nir_intrinsic_instr]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_recompute_io_bases(nir:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_mediump_vars(nir:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, uint64_t, ctypes.c_bool)
def nir_lower_mediump_io(nir:c.POINTER[nir_shader], modes:ctypes.c_uint32, varying_mask:uint64_t, use_16bit_slots:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_clear_mediump_io_flag(nir:c.POINTER[nir_shader]) -> bool: ...
@c.record
class struct_nir_opt_tex_srcs_options(c.Struct):
  SIZE = 8
  sampler_dims: int
  src_types: int
struct_nir_opt_tex_srcs_options.register_fields([('sampler_dims', ctypes.c_uint32, 0), ('src_types', ctypes.c_uint32, 4)])
nir_opt_tex_srcs_options: TypeAlias = struct_nir_opt_tex_srcs_options
@c.record
class struct_nir_opt_16bit_tex_image_options(c.Struct):
  SIZE = 24
  rounding_mode: int
  opt_tex_dest_types: int
  opt_image_dest_types: int
  integer_dest_saturates: bool
  opt_image_store_data: bool
  opt_image_srcs: bool
  opt_srcs_options_count: int
  opt_srcs_options: c.POINTER[struct_nir_opt_tex_srcs_options]
struct_nir_opt_16bit_tex_image_options.register_fields([('rounding_mode', ctypes.c_uint32, 0), ('opt_tex_dest_types', ctypes.c_ubyte, 4), ('opt_image_dest_types', ctypes.c_ubyte, 5), ('integer_dest_saturates', ctypes.c_bool, 6), ('opt_image_store_data', ctypes.c_bool, 7), ('opt_image_srcs', ctypes.c_bool, 8), ('opt_srcs_options_count', ctypes.c_uint32, 12), ('opt_srcs_options', c.POINTER[nir_opt_tex_srcs_options], 16)])
nir_opt_16bit_tex_image_options: TypeAlias = struct_nir_opt_16bit_tex_image_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_opt_16bit_tex_image_options])
def nir_opt_16bit_tex_image(nir:c.POINTER[nir_shader], options:c.POINTER[nir_opt_16bit_tex_image_options]) -> bool: ...
@c.record
class struct_nir_tex_src_type_constraint(c.Struct):
  SIZE = 8
  legalize_type: bool
  bit_size: int
  match_src: int
struct_nir_tex_src_type_constraint.register_fields([('legalize_type', ctypes.c_bool, 0), ('bit_size', uint8_t, 1), ('match_src', nir_tex_src_type, 4)])
nir_tex_src_type_constraint: TypeAlias = struct_nir_tex_src_type_constraint
nir_tex_src_type_constraints: TypeAlias = c.Array[struct_nir_tex_src_type_constraint, Literal[23]]
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_tex_src_type_constraints)
def nir_legalize_16bit_sampler_srcs(nir:c.POINTER[nir_shader], constraints:nir_tex_src_type_constraints) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_float, ctypes.c_float)
def nir_lower_point_size(shader:c.POINTER[nir_shader], min:float, max:float) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_default_point_size(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_bool, ctypes.c_bool)
def nir_lower_texcoord_replace(s:c.POINTER[nir_shader], coord_replace:int, point_coord_is_sysval:bool, yinvert:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_bool)
def nir_lower_texcoord_replace_late(s:c.POINTER[nir_shader], coord_replace:int, point_coord_is_sysval:bool) -> bool: ...
nir_lower_interpolation_options: dict[int, str] = {(nir_lower_interpolation_at_sample:=2): 'nir_lower_interpolation_at_sample', (nir_lower_interpolation_at_offset:=4): 'nir_lower_interpolation_at_offset', (nir_lower_interpolation_centroid:=8): 'nir_lower_interpolation_centroid', (nir_lower_interpolation_pixel:=16): 'nir_lower_interpolation_pixel', (nir_lower_interpolation_sample:=32): 'nir_lower_interpolation_sample'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_interpolation(shader:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
nir_lower_discard_if_options: dict[int, str] = {(nir_lower_demote_if_to_cf:=1): 'nir_lower_demote_if_to_cf', (nir_lower_terminate_if_to_cf:=2): 'nir_lower_terminate_if_to_cf', (nir_move_terminate_out_of_loops:=4): 'nir_move_terminate_out_of_loops'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_discard_if(shader:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_terminate_to_demote(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_memory_model(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_goto_ifs(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_continue_constructs(shader:c.POINTER[nir_shader]) -> bool: ...
@c.record
class struct_nir_lower_multiview_options(c.Struct):
  SIZE = 16
  view_mask: int
  allowed_per_view_outputs: int
struct_nir_lower_multiview_options.register_fields([('view_mask', uint32_t, 0), ('allowed_per_view_outputs', uint64_t, 8)])
nir_lower_multiview_options: TypeAlias = struct_nir_lower_multiview_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_shader_uses_view_index(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_lower_multiview_options)
def nir_can_lower_multiview(shader:c.POINTER[nir_shader], options:nir_lower_multiview_options) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_lower_multiview_options)
def nir_lower_multiview(shader:c.POINTER[nir_shader], options:nir_lower_multiview_options) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_view_index_to_device_index(shader:c.POINTER[nir_shader]) -> bool: ...
nir_lower_fp16_cast_options: dict[int, str] = {(nir_lower_fp16_rtz:=1): 'nir_lower_fp16_rtz', (nir_lower_fp16_rtne:=2): 'nir_lower_fp16_rtne', (nir_lower_fp16_ru:=4): 'nir_lower_fp16_ru', (nir_lower_fp16_rd:=8): 'nir_lower_fp16_rd', (nir_lower_fp16_all:=15): 'nir_lower_fp16_all', (nir_lower_fp16_split_fp64:=16): 'nir_lower_fp16_split_fp64'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_fp16_casts(shader:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_normalize_cubemap_coords(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_shader_supports_implicit_lod(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_function_impl])
def nir_live_defs_impl(impl:c.POINTER[nir_function_impl]) -> None: ...
@dll.bind(c.POINTER[ctypes.c_uint32], nir_cursor, ctypes.c_void_p)
def nir_get_live_defs(cursor:nir_cursor, mem_ctx:ctypes.c_void_p) -> c.POINTER[ctypes.c_uint32]: ...
@dll.bind(None, c.POINTER[nir_function_impl], ctypes.c_uint32, ctypes.c_bool)
def nir_loop_analyze_impl(impl:c.POINTER[nir_function_impl], indirect_mask:ctypes.c_uint32, force_unroll_sampler_indirect:bool) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_def], c.POINTER[nir_def])
def nir_defs_interfere(a:c.POINTER[nir_def], b:c.POINTER[nir_def]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl])
def nir_repair_ssa_impl(impl:c.POINTER[nir_function_impl]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_repair_ssa(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_loop])
def nir_convert_loop_to_lcssa(loop:c.POINTER[nir_loop]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool, ctypes.c_bool)
def nir_convert_to_lcssa(shader:c.POINTER[nir_shader], skip_invariants:bool, skip_bool_invariants:bool) -> bool: ...
@dll.bind(None, c.POINTER[nir_function_impl], ctypes.c_uint32)
def nir_divergence_analysis_impl(impl:c.POINTER[nir_function_impl], options:ctypes.c_uint32) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_divergence_analysis(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_vertex_divergence_analysis(shader:c.POINTER[nir_shader]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_has_divergent_loop(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_builder], c.POINTER[nir_def], c.POINTER[nir_def])
def nir_rewrite_uses_to_load_reg(b:c.POINTER[nir_builder], old:c.POINTER[nir_def], reg:c.POINTER[nir_def]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool, ctypes.c_bool)
def nir_convert_from_ssa(shader:c.POINTER[nir_shader], phi_webs_only:bool, consider_divergence:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_block], ctypes.c_bool)
def nir_lower_phis_to_regs_block(block:c.POINTER[nir_block], place_writes_in_imm_preds:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_block])
def nir_lower_ssa_defs_to_regs_block(block:c.POINTER[nir_block]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_deref_instr])
def nir_rematerialize_deref_in_use_blocks(instr:c.POINTER[nir_deref_instr]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl])
def nir_rematerialize_derefs_in_use_blocks_impl(impl:c.POINTER[nir_function_impl]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_samplers(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool, ctypes.c_bool)
def nir_lower_cl_images(shader:c.POINTER[nir_shader], lower_image_derefs:bool, lower_sampler_derefs:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_dedup_inline_samplers(shader:c.POINTER[nir_shader]) -> bool: ...
@c.record
class struct_nir_lower_ssbo_options(c.Struct):
  SIZE = 2
  native_loads: bool
  native_offset: bool
struct_nir_lower_ssbo_options.register_fields([('native_loads', ctypes.c_bool, 0), ('native_offset', ctypes.c_bool, 1)])
nir_lower_ssbo_options: TypeAlias = struct_nir_lower_ssbo_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_ssbo_options])
def nir_lower_ssbo(shader:c.POINTER[nir_shader], opts:c.POINTER[nir_lower_ssbo_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_lower_helper_writes(shader:c.POINTER[nir_shader], lower_plain_stores:bool) -> bool: ...
@c.record
class struct_nir_lower_printf_options(c.Struct):
  SIZE = 12
  max_buffer_size: int
  ptr_bit_size: int
  hash_format_strings: bool
struct_nir_lower_printf_options.register_fields([('max_buffer_size', ctypes.c_uint32, 0), ('ptr_bit_size', ctypes.c_uint32, 4), ('hash_format_strings', ctypes.c_bool, 8)])
nir_lower_printf_options: TypeAlias = struct_nir_lower_printf_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_printf_options])
def nir_lower_printf(nir:c.POINTER[nir_shader], options:c.POINTER[nir_lower_printf_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], uint64_t, uint32_t)
def nir_lower_printf_buffer(nir:c.POINTER[nir_shader], address:uint64_t, size:uint32_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl])
def nir_opt_comparison_pre_impl(impl:c.POINTER[nir_function_impl]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_comparison_pre(shader:c.POINTER[nir_shader]) -> bool: ...
@c.record
class struct_nir_opt_access_options(c.Struct):
  SIZE = 1
  is_vulkan: bool
struct_nir_opt_access_options.register_fields([('is_vulkan', ctypes.c_bool, 0)])
nir_opt_access_options: TypeAlias = struct_nir_opt_access_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_opt_access_options])
def nir_opt_access(shader:c.POINTER[nir_shader], options:c.POINTER[nir_opt_access_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_algebraic(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_algebraic_before_ffma(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_algebraic_before_lower_int64(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_algebraic_late(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_algebraic_distribute_src_mods(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_algebraic_integer_promotion(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_reassociate_matrix_mul(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_constant_folding(shader:c.POINTER[nir_shader]) -> bool: ...
nir_combine_barrier_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_intrinsic_instr], c.POINTER[struct_nir_intrinsic_instr], ctypes.c_void_p]]
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_combine_barrier_cb, ctypes.c_void_p)
def nir_opt_combine_barriers(shader:c.POINTER[nir_shader], combine_cb:nir_combine_barrier_cb, data:ctypes.c_void_p) -> bool: ...
mesa_scope: dict[int, str] = {(SCOPE_NONE:=0): 'SCOPE_NONE', (SCOPE_INVOCATION:=1): 'SCOPE_INVOCATION', (SCOPE_SUBGROUP:=2): 'SCOPE_SUBGROUP', (SCOPE_SHADER_CALL:=3): 'SCOPE_SHADER_CALL', (SCOPE_WORKGROUP:=4): 'SCOPE_WORKGROUP', (SCOPE_QUEUE_FAMILY:=5): 'SCOPE_QUEUE_FAMILY', (SCOPE_DEVICE:=6): 'SCOPE_DEVICE'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_opt_acquire_release_barriers(shader:c.POINTER[nir_shader], max_scope:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_barrier_modes(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_minimize_call_live_states(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_opt_combine_stores(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl])
def nir_copy_prop_impl(impl:c.POINTER[nir_function_impl]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_copy_prop(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_copy_prop_vars(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_cse(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_dce(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_dead_cf(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_dead_write_vars(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_function_impl])
def nir_opt_deref_impl(impl:c.POINTER[nir_function_impl]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_deref(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_find_array_copies(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_def])
def nir_def_is_frag_coord_z(_def:c.POINTER[nir_def]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_fragdepth(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_opt_gcm(shader:c.POINTER[nir_shader], value_number:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_generate_bfi(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_opt_idiv_const(shader:c.POINTER[nir_shader], min_bit_size:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_mqsad(shader:c.POINTER[nir_shader]) -> bool: ...
nir_opt_if_options: dict[int, str] = {(nir_opt_if_optimize_phi_true_false:=1): 'nir_opt_if_optimize_phi_true_false', (nir_opt_if_avoid_64bit_phis:=2): 'nir_opt_if_avoid_64bit_phis'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_opt_if(shader:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_intrinsics(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], glsl_type_size_align_func, ctypes.c_uint32)
def nir_opt_large_constants(shader:c.POINTER[nir_shader], size_align:glsl_type_size_align_func, threshold:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_licm(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_loop(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_loop_unroll(shader:c.POINTER[nir_shader]) -> bool: ...
nir_move_options: dict[int, str] = {(nir_move_const_undef:=1): 'nir_move_const_undef', (nir_move_load_ubo:=2): 'nir_move_load_ubo', (nir_move_load_input:=4): 'nir_move_load_input', (nir_move_comparisons:=8): 'nir_move_comparisons', (nir_move_copies:=16): 'nir_move_copies', (nir_move_load_ssbo:=32): 'nir_move_load_ssbo', (nir_move_load_uniform:=64): 'nir_move_load_uniform', (nir_move_alu:=128): 'nir_move_alu', (nir_dont_move_byte_word_vecs:=256): 'nir_dont_move_byte_word_vecs'}
@dll.bind(ctypes.c_bool, c.POINTER[nir_instr], ctypes.c_uint32)
def nir_can_move_instr(instr:c.POINTER[nir_instr], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_opt_sink(shader:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_opt_move(shader:c.POINTER[nir_shader], options:ctypes.c_uint32) -> bool: ...
@c.record
class struct_nir_opt_offsets_options(c.Struct):
  SIZE = 48
  uniform_max: int
  ubo_vec4_max: int
  shared_max: int
  shared_atomic_max: int
  buffer_max: int
  max_offset_cb: c.CFUNCTYPE[ctypes.c_uint32, [c.POINTER[struct_nir_intrinsic_instr], ctypes.c_void_p]]
  max_offset_data: ctypes.c_void_p
  allow_offset_wrap: bool
struct_nir_opt_offsets_options.register_fields([('uniform_max', uint32_t, 0), ('ubo_vec4_max', uint32_t, 4), ('shared_max', uint32_t, 8), ('shared_atomic_max', uint32_t, 12), ('buffer_max', uint32_t, 16), ('max_offset_cb', c.CFUNCTYPE[uint32_t, [c.POINTER[nir_intrinsic_instr], ctypes.c_void_p]], 24), ('max_offset_data', ctypes.c_void_p, 32), ('allow_offset_wrap', ctypes.c_bool, 40)])
nir_opt_offsets_options: TypeAlias = struct_nir_opt_offsets_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_opt_offsets_options])
def nir_opt_offsets(shader:c.POINTER[nir_shader], options:c.POINTER[nir_opt_offsets_options]) -> bool: ...
@c.record
class struct_nir_opt_peephole_select_options(c.Struct):
  SIZE = 8
  limit: int
  indirect_load_ok: bool
  expensive_alu_ok: bool
  discard_ok: bool
struct_nir_opt_peephole_select_options.register_fields([('limit', ctypes.c_uint32, 0), ('indirect_load_ok', ctypes.c_bool, 4), ('expensive_alu_ok', ctypes.c_bool, 5), ('discard_ok', ctypes.c_bool, 6)])
nir_opt_peephole_select_options: TypeAlias = struct_nir_opt_peephole_select_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_opt_peephole_select_options])
def nir_opt_peephole_select(shader:c.POINTER[nir_shader], options:c.POINTER[nir_opt_peephole_select_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_reassociate_bfi(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_rematerialize_compares(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_remove_phis(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_block])
def nir_remove_single_src_phis_block(block:c.POINTER[nir_block]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_phi_precision(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_phi_to_bool(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_opt_shrink_stores(shader:c.POINTER[nir_shader], shrink_image_store:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_opt_shrink_vectors(shader:c.POINTER[nir_shader], shrink_start:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_undef(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_lower_undef_to_zero(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_opt_uniform_atomics(shader:c.POINTER[nir_shader], fs_atomics_predicated:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_lower_subgroups_options])
def nir_opt_uniform_subgroup(shader:c.POINTER[nir_shader], _1:c.POINTER[nir_lower_subgroups_options]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], nir_vectorize_cb, ctypes.c_void_p)
def nir_opt_vectorize(shader:c.POINTER[nir_shader], filter:nir_vectorize_cb, data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32, ctypes.c_bool)
def nir_opt_vectorize_io(shader:c.POINTER[nir_shader], modes:ctypes.c_uint32, allow_holes:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_move_discards_to_top(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_ray_queries(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_opt_ray_query_ranges(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_opt_tex_skip_helpers(shader:c.POINTER[nir_shader], no_add_divergence:bool) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader])
def nir_sweep(shader:c.POINTER[nir_shader]) -> None: ...
gl_system_value: dict[int, str] = {(SYSTEM_VALUE_SUBGROUP_SIZE:=0): 'SYSTEM_VALUE_SUBGROUP_SIZE', (SYSTEM_VALUE_SUBGROUP_INVOCATION:=1): 'SYSTEM_VALUE_SUBGROUP_INVOCATION', (SYSTEM_VALUE_SUBGROUP_EQ_MASK:=2): 'SYSTEM_VALUE_SUBGROUP_EQ_MASK', (SYSTEM_VALUE_SUBGROUP_GE_MASK:=3): 'SYSTEM_VALUE_SUBGROUP_GE_MASK', (SYSTEM_VALUE_SUBGROUP_GT_MASK:=4): 'SYSTEM_VALUE_SUBGROUP_GT_MASK', (SYSTEM_VALUE_SUBGROUP_LE_MASK:=5): 'SYSTEM_VALUE_SUBGROUP_LE_MASK', (SYSTEM_VALUE_SUBGROUP_LT_MASK:=6): 'SYSTEM_VALUE_SUBGROUP_LT_MASK', (SYSTEM_VALUE_NUM_SUBGROUPS:=7): 'SYSTEM_VALUE_NUM_SUBGROUPS', (SYSTEM_VALUE_SUBGROUP_ID:=8): 'SYSTEM_VALUE_SUBGROUP_ID', (SYSTEM_VALUE_VERTEX_ID:=9): 'SYSTEM_VALUE_VERTEX_ID', (SYSTEM_VALUE_INSTANCE_ID:=10): 'SYSTEM_VALUE_INSTANCE_ID', (SYSTEM_VALUE_INSTANCE_INDEX:=11): 'SYSTEM_VALUE_INSTANCE_INDEX', (SYSTEM_VALUE_VERTEX_ID_ZERO_BASE:=12): 'SYSTEM_VALUE_VERTEX_ID_ZERO_BASE', (SYSTEM_VALUE_BASE_VERTEX:=13): 'SYSTEM_VALUE_BASE_VERTEX', (SYSTEM_VALUE_FIRST_VERTEX:=14): 'SYSTEM_VALUE_FIRST_VERTEX', (SYSTEM_VALUE_IS_INDEXED_DRAW:=15): 'SYSTEM_VALUE_IS_INDEXED_DRAW', (SYSTEM_VALUE_BASE_INSTANCE:=16): 'SYSTEM_VALUE_BASE_INSTANCE', (SYSTEM_VALUE_DRAW_ID:=17): 'SYSTEM_VALUE_DRAW_ID', (SYSTEM_VALUE_INVOCATION_ID:=18): 'SYSTEM_VALUE_INVOCATION_ID', (SYSTEM_VALUE_FRAG_COORD:=19): 'SYSTEM_VALUE_FRAG_COORD', (SYSTEM_VALUE_PIXEL_COORD:=20): 'SYSTEM_VALUE_PIXEL_COORD', (SYSTEM_VALUE_FRAG_COORD_Z:=21): 'SYSTEM_VALUE_FRAG_COORD_Z', (SYSTEM_VALUE_FRAG_COORD_W:=22): 'SYSTEM_VALUE_FRAG_COORD_W', (SYSTEM_VALUE_POINT_COORD:=23): 'SYSTEM_VALUE_POINT_COORD', (SYSTEM_VALUE_LINE_COORD:=24): 'SYSTEM_VALUE_LINE_COORD', (SYSTEM_VALUE_FRONT_FACE:=25): 'SYSTEM_VALUE_FRONT_FACE', (SYSTEM_VALUE_FRONT_FACE_FSIGN:=26): 'SYSTEM_VALUE_FRONT_FACE_FSIGN', (SYSTEM_VALUE_SAMPLE_ID:=27): 'SYSTEM_VALUE_SAMPLE_ID', (SYSTEM_VALUE_SAMPLE_POS:=28): 'SYSTEM_VALUE_SAMPLE_POS', (SYSTEM_VALUE_SAMPLE_POS_OR_CENTER:=29): 'SYSTEM_VALUE_SAMPLE_POS_OR_CENTER', (SYSTEM_VALUE_SAMPLE_MASK_IN:=30): 'SYSTEM_VALUE_SAMPLE_MASK_IN', (SYSTEM_VALUE_LAYER_ID:=31): 'SYSTEM_VALUE_LAYER_ID', (SYSTEM_VALUE_HELPER_INVOCATION:=32): 'SYSTEM_VALUE_HELPER_INVOCATION', (SYSTEM_VALUE_COLOR0:=33): 'SYSTEM_VALUE_COLOR0', (SYSTEM_VALUE_COLOR1:=34): 'SYSTEM_VALUE_COLOR1', (SYSTEM_VALUE_TESS_COORD:=35): 'SYSTEM_VALUE_TESS_COORD', (SYSTEM_VALUE_VERTICES_IN:=36): 'SYSTEM_VALUE_VERTICES_IN', (SYSTEM_VALUE_PRIMITIVE_ID:=37): 'SYSTEM_VALUE_PRIMITIVE_ID', (SYSTEM_VALUE_TESS_LEVEL_OUTER:=38): 'SYSTEM_VALUE_TESS_LEVEL_OUTER', (SYSTEM_VALUE_TESS_LEVEL_INNER:=39): 'SYSTEM_VALUE_TESS_LEVEL_INNER', (SYSTEM_VALUE_TESS_LEVEL_OUTER_DEFAULT:=40): 'SYSTEM_VALUE_TESS_LEVEL_OUTER_DEFAULT', (SYSTEM_VALUE_TESS_LEVEL_INNER_DEFAULT:=41): 'SYSTEM_VALUE_TESS_LEVEL_INNER_DEFAULT', (SYSTEM_VALUE_LOCAL_INVOCATION_ID:=42): 'SYSTEM_VALUE_LOCAL_INVOCATION_ID', (SYSTEM_VALUE_LOCAL_INVOCATION_INDEX:=43): 'SYSTEM_VALUE_LOCAL_INVOCATION_INDEX', (SYSTEM_VALUE_GLOBAL_INVOCATION_ID:=44): 'SYSTEM_VALUE_GLOBAL_INVOCATION_ID', (SYSTEM_VALUE_BASE_GLOBAL_INVOCATION_ID:=45): 'SYSTEM_VALUE_BASE_GLOBAL_INVOCATION_ID', (SYSTEM_VALUE_GLOBAL_INVOCATION_INDEX:=46): 'SYSTEM_VALUE_GLOBAL_INVOCATION_INDEX', (SYSTEM_VALUE_WORKGROUP_ID:=47): 'SYSTEM_VALUE_WORKGROUP_ID', (SYSTEM_VALUE_BASE_WORKGROUP_ID:=48): 'SYSTEM_VALUE_BASE_WORKGROUP_ID', (SYSTEM_VALUE_WORKGROUP_INDEX:=49): 'SYSTEM_VALUE_WORKGROUP_INDEX', (SYSTEM_VALUE_NUM_WORKGROUPS:=50): 'SYSTEM_VALUE_NUM_WORKGROUPS', (SYSTEM_VALUE_WORKGROUP_SIZE:=51): 'SYSTEM_VALUE_WORKGROUP_SIZE', (SYSTEM_VALUE_GLOBAL_GROUP_SIZE:=52): 'SYSTEM_VALUE_GLOBAL_GROUP_SIZE', (SYSTEM_VALUE_WORK_DIM:=53): 'SYSTEM_VALUE_WORK_DIM', (SYSTEM_VALUE_USER_DATA_AMD:=54): 'SYSTEM_VALUE_USER_DATA_AMD', (SYSTEM_VALUE_DEVICE_INDEX:=55): 'SYSTEM_VALUE_DEVICE_INDEX', (SYSTEM_VALUE_VIEW_INDEX:=56): 'SYSTEM_VALUE_VIEW_INDEX', (SYSTEM_VALUE_VERTEX_CNT:=57): 'SYSTEM_VALUE_VERTEX_CNT', (SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL:=58): 'SYSTEM_VALUE_BARYCENTRIC_PERSP_PIXEL', (SYSTEM_VALUE_BARYCENTRIC_PERSP_SAMPLE:=59): 'SYSTEM_VALUE_BARYCENTRIC_PERSP_SAMPLE', (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID:=60): 'SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTROID', (SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTER_RHW:=61): 'SYSTEM_VALUE_BARYCENTRIC_PERSP_CENTER_RHW', (SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL:=62): 'SYSTEM_VALUE_BARYCENTRIC_LINEAR_PIXEL', (SYSTEM_VALUE_BARYCENTRIC_LINEAR_CENTROID:=63): 'SYSTEM_VALUE_BARYCENTRIC_LINEAR_CENTROID', (SYSTEM_VALUE_BARYCENTRIC_LINEAR_SAMPLE:=64): 'SYSTEM_VALUE_BARYCENTRIC_LINEAR_SAMPLE', (SYSTEM_VALUE_BARYCENTRIC_PULL_MODEL:=65): 'SYSTEM_VALUE_BARYCENTRIC_PULL_MODEL', (SYSTEM_VALUE_BARYCENTRIC_PERSP_COORD:=66): 'SYSTEM_VALUE_BARYCENTRIC_PERSP_COORD', (SYSTEM_VALUE_BARYCENTRIC_LINEAR_COORD:=67): 'SYSTEM_VALUE_BARYCENTRIC_LINEAR_COORD', (SYSTEM_VALUE_RAY_LAUNCH_ID:=68): 'SYSTEM_VALUE_RAY_LAUNCH_ID', (SYSTEM_VALUE_RAY_LAUNCH_SIZE:=69): 'SYSTEM_VALUE_RAY_LAUNCH_SIZE', (SYSTEM_VALUE_RAY_WORLD_ORIGIN:=70): 'SYSTEM_VALUE_RAY_WORLD_ORIGIN', (SYSTEM_VALUE_RAY_WORLD_DIRECTION:=71): 'SYSTEM_VALUE_RAY_WORLD_DIRECTION', (SYSTEM_VALUE_RAY_OBJECT_ORIGIN:=72): 'SYSTEM_VALUE_RAY_OBJECT_ORIGIN', (SYSTEM_VALUE_RAY_OBJECT_DIRECTION:=73): 'SYSTEM_VALUE_RAY_OBJECT_DIRECTION', (SYSTEM_VALUE_RAY_T_MIN:=74): 'SYSTEM_VALUE_RAY_T_MIN', (SYSTEM_VALUE_RAY_T_MAX:=75): 'SYSTEM_VALUE_RAY_T_MAX', (SYSTEM_VALUE_RAY_OBJECT_TO_WORLD:=76): 'SYSTEM_VALUE_RAY_OBJECT_TO_WORLD', (SYSTEM_VALUE_RAY_WORLD_TO_OBJECT:=77): 'SYSTEM_VALUE_RAY_WORLD_TO_OBJECT', (SYSTEM_VALUE_RAY_HIT_KIND:=78): 'SYSTEM_VALUE_RAY_HIT_KIND', (SYSTEM_VALUE_RAY_FLAGS:=79): 'SYSTEM_VALUE_RAY_FLAGS', (SYSTEM_VALUE_RAY_GEOMETRY_INDEX:=80): 'SYSTEM_VALUE_RAY_GEOMETRY_INDEX', (SYSTEM_VALUE_RAY_INSTANCE_CUSTOM_INDEX:=81): 'SYSTEM_VALUE_RAY_INSTANCE_CUSTOM_INDEX', (SYSTEM_VALUE_CULL_MASK:=82): 'SYSTEM_VALUE_CULL_MASK', (SYSTEM_VALUE_RAY_TRIANGLE_VERTEX_POSITIONS:=83): 'SYSTEM_VALUE_RAY_TRIANGLE_VERTEX_POSITIONS', (SYSTEM_VALUE_MESH_VIEW_COUNT:=84): 'SYSTEM_VALUE_MESH_VIEW_COUNT', (SYSTEM_VALUE_MESH_VIEW_INDICES:=85): 'SYSTEM_VALUE_MESH_VIEW_INDICES', (SYSTEM_VALUE_GS_HEADER_IR3:=86): 'SYSTEM_VALUE_GS_HEADER_IR3', (SYSTEM_VALUE_TCS_HEADER_IR3:=87): 'SYSTEM_VALUE_TCS_HEADER_IR3', (SYSTEM_VALUE_REL_PATCH_ID_IR3:=88): 'SYSTEM_VALUE_REL_PATCH_ID_IR3', (SYSTEM_VALUE_FRAG_SHADING_RATE:=89): 'SYSTEM_VALUE_FRAG_SHADING_RATE', (SYSTEM_VALUE_FULLY_COVERED:=90): 'SYSTEM_VALUE_FULLY_COVERED', (SYSTEM_VALUE_FRAG_SIZE:=91): 'SYSTEM_VALUE_FRAG_SIZE', (SYSTEM_VALUE_FRAG_INVOCATION_COUNT:=92): 'SYSTEM_VALUE_FRAG_INVOCATION_COUNT', (SYSTEM_VALUE_SHADER_INDEX:=93): 'SYSTEM_VALUE_SHADER_INDEX', (SYSTEM_VALUE_COALESCED_INPUT_COUNT:=94): 'SYSTEM_VALUE_COALESCED_INPUT_COUNT', (SYSTEM_VALUE_WARPS_PER_SM_NV:=95): 'SYSTEM_VALUE_WARPS_PER_SM_NV', (SYSTEM_VALUE_SM_COUNT_NV:=96): 'SYSTEM_VALUE_SM_COUNT_NV', (SYSTEM_VALUE_WARP_ID_NV:=97): 'SYSTEM_VALUE_WARP_ID_NV', (SYSTEM_VALUE_SM_ID_NV:=98): 'SYSTEM_VALUE_SM_ID_NV', (SYSTEM_VALUE_MAX:=99): 'SYSTEM_VALUE_MAX'}
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def nir_intrinsic_from_system_value(val:ctypes.c_uint32) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def nir_system_value_from_intrinsic(intrin:ctypes.c_uint32) -> ctypes.c_uint32: ...
@c.record
class struct_nir_unsigned_upper_bound_config(c.Struct):
  SIZE = 164
  min_subgroup_size: int
  max_subgroup_size: int
  max_workgroup_invocations: int
  max_workgroup_count: c.Array[ctypes.c_uint32, Literal[3]]
  max_workgroup_size: c.Array[ctypes.c_uint32, Literal[3]]
  vertex_attrib_max: c.Array[ctypes.c_uint32, Literal[32]]
struct_nir_unsigned_upper_bound_config.register_fields([('min_subgroup_size', ctypes.c_uint32, 0), ('max_subgroup_size', ctypes.c_uint32, 4), ('max_workgroup_invocations', ctypes.c_uint32, 8), ('max_workgroup_count', c.Array[ctypes.c_uint32, Literal[3]], 12), ('max_workgroup_size', c.Array[ctypes.c_uint32, Literal[3]], 24), ('vertex_attrib_max', c.Array[uint32_t, Literal[32]], 36)])
nir_unsigned_upper_bound_config: TypeAlias = struct_nir_unsigned_upper_bound_config
@dll.bind(uint32_t, c.POINTER[nir_shader], c.POINTER[struct_hash_table], nir_scalar, c.POINTER[nir_unsigned_upper_bound_config])
def nir_unsigned_upper_bound(shader:c.POINTER[nir_shader], range_ht:c.POINTER[struct_hash_table], scalar:nir_scalar, config:c.POINTER[nir_unsigned_upper_bound_config]) -> uint32_t: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_hash_table], nir_scalar, ctypes.c_uint32, c.POINTER[nir_unsigned_upper_bound_config])
def nir_addition_might_overflow(shader:c.POINTER[nir_shader], range_ht:c.POINTER[struct_hash_table], ssa:nir_scalar, const_val:int, config:c.POINTER[nir_unsigned_upper_bound_config]) -> bool: ...
@c.record
class struct_nir_opt_preamble_options(c.Struct):
  SIZE = 56
  drawid_uniform: bool
  subgroup_size_uniform: bool
  load_workgroup_size_allowed: bool
  def_size: c.CFUNCTYPE[None, [c.POINTER[struct_nir_def], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32]]]
  preamble_storage_size: c.Array[ctypes.c_uint32, Literal[2]]
  instr_cost_cb: c.CFUNCTYPE[ctypes.c_float, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
  rewrite_cost_cb: c.CFUNCTYPE[ctypes.c_float, [c.POINTER[struct_nir_def], ctypes.c_void_p]]
  avoid_instr_cb: c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_instr], ctypes.c_void_p]]
  cb_data: ctypes.c_void_p
struct_nir_opt_preamble_options.register_fields([('drawid_uniform', ctypes.c_bool, 0), ('subgroup_size_uniform', ctypes.c_bool, 1), ('load_workgroup_size_allowed', ctypes.c_bool, 2), ('def_size', c.CFUNCTYPE[None, [c.POINTER[nir_def], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32]]], 8), ('preamble_storage_size', c.Array[ctypes.c_uint32, Literal[2]], 16), ('instr_cost_cb', c.CFUNCTYPE[ctypes.c_float, [c.POINTER[nir_instr], ctypes.c_void_p]], 24), ('rewrite_cost_cb', c.CFUNCTYPE[ctypes.c_float, [c.POINTER[nir_def], ctypes.c_void_p]], 32), ('avoid_instr_cb', nir_instr_filter_cb, 40), ('cb_data', ctypes.c_void_p, 48)])
nir_opt_preamble_options: TypeAlias = struct_nir_opt_preamble_options
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_opt_preamble_options], c.POINTER[ctypes.c_uint32])
def nir_opt_preamble(shader:c.POINTER[nir_shader], options:c.POINTER[nir_opt_preamble_options], size:c.POINTER[ctypes.c_uint32]) -> bool: ...
@dll.bind(c.POINTER[nir_function_impl], c.POINTER[nir_shader])
def nir_shader_get_preamble(shader:c.POINTER[nir_shader]) -> c.POINTER[nir_function_impl]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_bool)
def nir_lower_point_smooth(shader:c.POINTER[nir_shader], set_barycentrics:bool) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_lower_poly_line_smooth(shader:c.POINTER[nir_shader], num_smooth_aa_sample:int) -> bool: ...
@dll.bind(ctypes.c_bool, nir_scalar, ctypes.c_ubyte, ctypes.c_uint32, c.POINTER[ctypes.c_uint32])
def nir_mod_analysis(val:nir_scalar, val_type:ctypes.c_ubyte, div:int, mod:c.POINTER[ctypes.c_uint32]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], ctypes.c_uint32)
def nir_remove_tex_shadow(shader:c.POINTER[nir_shader], textures_bitmask:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def nir_trivialize_registers(s:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_shader])
def nir_static_workgroup_size(s:c.POINTER[nir_shader]) -> int: ...
class struct_nir_use_dominance_state(c.Struct): pass
nir_use_dominance_state: TypeAlias = struct_nir_use_dominance_state
@dll.bind(c.POINTER[nir_use_dominance_state], c.POINTER[nir_function_impl], ctypes.c_bool)
def nir_calc_use_dominance_impl(impl:c.POINTER[nir_function_impl], post_dominance:bool) -> c.POINTER[nir_use_dominance_state]: ...
@dll.bind(c.POINTER[nir_instr], c.POINTER[nir_use_dominance_state], c.POINTER[nir_instr])
def nir_get_immediate_use_dominator(state:c.POINTER[nir_use_dominance_state], instr:c.POINTER[nir_instr]) -> c.POINTER[nir_instr]: ...
@dll.bind(c.POINTER[nir_instr], c.POINTER[nir_use_dominance_state], c.POINTER[nir_instr], c.POINTER[nir_instr])
def nir_use_dominance_lca(state:c.POINTER[nir_use_dominance_state], i1:c.POINTER[nir_instr], i2:c.POINTER[nir_instr]) -> c.POINTER[nir_instr]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_use_dominance_state], c.POINTER[nir_instr], c.POINTER[nir_instr])
def nir_instr_dominates_use(state:c.POINTER[nir_use_dominance_state], parent:c.POINTER[nir_instr], child:c.POINTER[nir_instr]) -> bool: ...
@dll.bind(None, c.POINTER[nir_use_dominance_state], c.POINTER[c.POINTER[nir_instr]], ctypes.c_uint32)
def nir_print_use_dominators(state:c.POINTER[nir_use_dominance_state], instructions:c.POINTER[c.POINTER[nir_instr]], num_instructions:int) -> None: ...
@c.record
class nir_output_deps(c.Struct):
  SIZE = 1792
  output: c.Array[nir_output_deps_output, Literal[112]]
@c.record
class nir_output_deps_output(c.Struct):
  SIZE = 16
  instr_list: c.POINTER[c.POINTER[struct_nir_instr]]
  num_instr: int
nir_output_deps_output.register_fields([('instr_list', c.POINTER[c.POINTER[nir_instr]], 0), ('num_instr', ctypes.c_uint32, 8)])
nir_output_deps.register_fields([('output', c.Array[nir_output_deps_output, Literal[112]], 0)])
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_output_deps])
def nir_gather_output_dependencies(nir:c.POINTER[nir_shader], deps:c.POINTER[nir_output_deps]) -> None: ...
@dll.bind(None, c.POINTER[nir_output_deps])
def nir_free_output_dependencies(deps:c.POINTER[nir_output_deps]) -> None: ...
@c.record
class nir_input_to_output_deps(c.Struct):
  SIZE = 12992
  output: c.Array[nir_input_to_output_deps_output, Literal[112]]
@c.record
class nir_input_to_output_deps_output(c.Struct):
  SIZE = 116
  inputs: c.Array[ctypes.c_uint32, Literal[28]]
  defined: bool
  uses_ssbo_reads: bool
  uses_image_reads: bool
nir_input_to_output_deps_output.register_fields([('inputs', c.Array[ctypes.c_uint32, Literal[28]], 0), ('defined', ctypes.c_bool, 112), ('uses_ssbo_reads', ctypes.c_bool, 113), ('uses_image_reads', ctypes.c_bool, 114)])
nir_input_to_output_deps.register_fields([('output', c.Array[nir_input_to_output_deps_output, Literal[112]], 0)])
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_input_to_output_deps])
def nir_gather_input_to_output_dependencies(nir:c.POINTER[nir_shader], out_deps:c.POINTER[nir_input_to_output_deps]) -> None: ...
@dll.bind(None, c.POINTER[nir_input_to_output_deps], c.POINTER[nir_shader], c.POINTER[FILE])
def nir_print_input_to_output_deps(deps:c.POINTER[nir_input_to_output_deps], nir:c.POINTER[nir_shader], f:c.POINTER[FILE]) -> None: ...
@c.record
class nir_output_clipper_var_groups(c.Struct):
  SIZE = 336
  pos_only: c.Array[ctypes.c_uint32, Literal[28]]
  var_only: c.Array[ctypes.c_uint32, Literal[28]]
  both: c.Array[ctypes.c_uint32, Literal[28]]
nir_output_clipper_var_groups.register_fields([('pos_only', c.Array[ctypes.c_uint32, Literal[28]], 0), ('var_only', c.Array[ctypes.c_uint32, Literal[28]], 112), ('both', c.Array[ctypes.c_uint32, Literal[28]], 224)])
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[nir_output_clipper_var_groups])
def nir_gather_output_clipper_var_groups(nir:c.POINTER[nir_shader], groups:c.POINTER[nir_output_clipper_var_groups]) -> None: ...
struct_nir_builder.register_fields([('cursor', nir_cursor, 0), ('exact', ctypes.c_bool, 16), ('fp_fast_math', uint32_t, 20), ('shader', c.POINTER[nir_shader], 24), ('impl', c.POINTER[nir_function_impl], 32)])
@dll.bind(nir_builder, gl_shader_stage, c.POINTER[nir_shader_compiler_options], c.POINTER[ctypes.c_char])
def nir_builder_init_simple_shader(stage:gl_shader_stage, options:c.POINTER[nir_shader_compiler_options], name:c.POINTER[ctypes.c_char]) -> nir_builder: ...
nir_instr_pass_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_builder], c.POINTER[struct_nir_instr], ctypes.c_void_p]]
nir_intrinsic_pass_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_builder], c.POINTER[struct_nir_intrinsic_instr], ctypes.c_void_p]]
nir_alu_pass_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_builder], c.POINTER[struct_nir_alu_instr], ctypes.c_void_p]]
nir_tex_pass_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_builder], c.POINTER[struct_nir_tex_instr], ctypes.c_void_p]]
nir_phi_pass_cb: TypeAlias = c.CFUNCTYPE[ctypes.c_bool, [c.POINTER[struct_nir_builder], c.POINTER[struct_nir_phi_instr], ctypes.c_void_p]]
@dll.bind(None, c.POINTER[nir_builder], c.POINTER[nir_instr])
def nir_builder_instr_insert(build:c.POINTER[nir_builder], instr:c.POINTER[nir_instr]) -> None: ...
@dll.bind(None, c.POINTER[nir_builder], c.POINTER[nir_instr])
def nir_builder_instr_insert_at_top(build:c.POINTER[nir_builder], instr:c.POINTER[nir_instr]) -> None: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[nir_def], c.POINTER[nir_def], c.POINTER[nir_def], c.POINTER[nir_def])
def nir_build_alu(build:c.POINTER[nir_builder], op:ctypes.c_uint32, src0:c.POINTER[nir_def], src1:c.POINTER[nir_def], src2:c.POINTER[nir_def], src3:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[nir_def])
def nir_build_alu1(build:c.POINTER[nir_builder], op:ctypes.c_uint32, src0:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[nir_def], c.POINTER[nir_def])
def nir_build_alu2(build:c.POINTER[nir_builder], op:ctypes.c_uint32, src0:c.POINTER[nir_def], src1:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[nir_def], c.POINTER[nir_def], c.POINTER[nir_def])
def nir_build_alu3(build:c.POINTER[nir_builder], op:ctypes.c_uint32, src0:c.POINTER[nir_def], src1:c.POINTER[nir_def], src2:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[nir_def], c.POINTER[nir_def], c.POINTER[nir_def], c.POINTER[nir_def])
def nir_build_alu4(build:c.POINTER[nir_builder], op:ctypes.c_uint32, src0:c.POINTER[nir_def], src1:c.POINTER[nir_def], src2:c.POINTER[nir_def], src3:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[c.POINTER[nir_def]])
def nir_build_alu_src_arr(build:c.POINTER[nir_builder], op:ctypes.c_uint32, srcs:c.POINTER[c.POINTER[nir_def]]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], nir_texop, c.POINTER[nir_deref_instr], c.POINTER[nir_deref_instr], ctypes.c_uint32, c.POINTER[nir_tex_src])
def nir_build_tex_deref_instr(build:c.POINTER[nir_builder], op:nir_texop, texture:c.POINTER[nir_deref_instr], sampler:c.POINTER[nir_deref_instr], num_extra_srcs:int, extra_srcs:c.POINTER[nir_tex_src]) -> c.POINTER[nir_def]: ...
@dll.bind(None, c.POINTER[nir_builder], c.POINTER[nir_cf_node])
def nir_builder_cf_insert(build:c.POINTER[nir_builder], cf:c.POINTER[nir_cf_node]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_builder], c.POINTER[nir_cf_node])
def nir_builder_is_inside_cf(build:c.POINTER[nir_builder], cf_node:c.POINTER[nir_cf_node]) -> bool: ...
@dll.bind(c.POINTER[nir_if], c.POINTER[nir_builder], c.POINTER[nir_def])
def nir_push_if(build:c.POINTER[nir_builder], condition:c.POINTER[nir_def]) -> c.POINTER[nir_if]: ...
@dll.bind(c.POINTER[nir_if], c.POINTER[nir_builder], c.POINTER[nir_if])
def nir_push_else(build:c.POINTER[nir_builder], nif:c.POINTER[nir_if]) -> c.POINTER[nir_if]: ...
@dll.bind(None, c.POINTER[nir_builder], c.POINTER[nir_if])
def nir_pop_if(build:c.POINTER[nir_builder], nif:c.POINTER[nir_if]) -> None: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], c.POINTER[nir_def])
def nir_if_phi(build:c.POINTER[nir_builder], then_def:c.POINTER[nir_def], else_def:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_loop], c.POINTER[nir_builder])
def nir_push_loop(build:c.POINTER[nir_builder]) -> c.POINTER[nir_loop]: ...
@dll.bind(c.POINTER[nir_loop], c.POINTER[nir_builder], c.POINTER[nir_loop])
def nir_push_continue(build:c.POINTER[nir_builder], loop:c.POINTER[nir_loop]) -> c.POINTER[nir_loop]: ...
@dll.bind(None, c.POINTER[nir_builder], c.POINTER[nir_loop])
def nir_pop_loop(build:c.POINTER[nir_builder], loop:c.POINTER[nir_loop]) -> None: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_alu_instr])
def nir_builder_alu_instr_finish_and_insert(build:c.POINTER[nir_builder], instr:c.POINTER[nir_alu_instr]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, ctypes.c_int32, ctypes.c_uint32, ctypes.c_uint32)
def nir_load_system_value(build:c.POINTER[nir_builder], op:ctypes.c_uint32, index:int, num_components:int, bit_size:int) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], ctypes.c_ubyte, ctypes.c_ubyte, ctypes.c_uint32)
def nir_type_convert(b:c.POINTER[nir_builder], src:c.POINTER[nir_def], src_type:ctypes.c_ubyte, dest_type:ctypes.c_ubyte, rnd:ctypes.c_uint32) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_scalar], ctypes.c_uint32)
def nir_vec_scalars(build:c.POINTER[nir_builder], comp:c.POINTER[nir_scalar], num_components:int) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_alu_instr], ctypes.c_uint32)
def nir_ssa_for_alu_src(build:c.POINTER[nir_builder], instr:c.POINTER[nir_alu_instr], srcn:int) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[ctypes.c_char])
def nir_build_string(build:c.POINTER[nir_builder], value:c.POINTER[ctypes.c_char]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[nir_def], c.POINTER[nir_def])
def nir_compare_func(b:c.POINTER[nir_builder], func:ctypes.c_uint32, src0:c.POINTER[nir_def], src1:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], c.POINTER[nir_def])
def nir_gen_rect_vertices(b:c.POINTER[nir_builder], z:c.POINTER[nir_def], w:c.POINTER[nir_def]) -> c.POINTER[nir_def]: ...
@dll.bind(None, c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def nir_printf_fmt(b:c.POINTER[nir_builder], ptr_bit_size:int, fmt:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, c.POINTER[nir_builder], ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def nir_printf_fmt_at_px(b:c.POINTER[nir_builder], ptr_bit_size:int, x:int, y:int, fmt:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[uint32_t], size_t, c.POINTER[c.POINTER[nir_def]])
def nir_call_serialized(build:c.POINTER[nir_builder], serialized:c.POINTER[uint32_t], serialized_size_B:size_t, args:c.POINTER[c.POINTER[nir_def]]) -> c.POINTER[nir_def]: ...
nir_lower_packing_op: dict[int, str] = {(nir_lower_packing_op_pack_64_2x32:=0): 'nir_lower_packing_op_pack_64_2x32', (nir_lower_packing_op_unpack_64_2x32:=1): 'nir_lower_packing_op_unpack_64_2x32', (nir_lower_packing_op_pack_64_4x16:=2): 'nir_lower_packing_op_pack_64_4x16', (nir_lower_packing_op_unpack_64_4x16:=3): 'nir_lower_packing_op_unpack_64_4x16', (nir_lower_packing_op_pack_32_2x16:=4): 'nir_lower_packing_op_pack_32_2x16', (nir_lower_packing_op_unpack_32_2x16:=5): 'nir_lower_packing_op_unpack_32_2x16', (nir_lower_packing_op_pack_32_4x8:=6): 'nir_lower_packing_op_pack_32_4x8', (nir_lower_packing_op_unpack_32_4x8:=7): 'nir_lower_packing_op_unpack_32_4x8', (nir_lower_packing_num_ops:=8): 'nir_lower_packing_num_ops'}
@c.record
class struct_blob(c.Struct):
  SIZE = 32
  data: c.POINTER[ctypes.c_ubyte]
  allocated: int
  size: int
  fixed_allocation: bool
  out_of_memory: bool
struct_blob.register_fields([('data', c.POINTER[uint8_t], 0), ('allocated', size_t, 8), ('size', size_t, 16), ('fixed_allocation', ctypes.c_bool, 24), ('out_of_memory', ctypes.c_bool, 25)])
@dll.bind(None, c.POINTER[struct_blob], c.POINTER[nir_shader], ctypes.c_bool)
def nir_serialize(blob:c.POINTER[struct_blob], nir:c.POINTER[nir_shader], strip:bool) -> None: ...
@c.record
class struct_blob_reader(c.Struct):
  SIZE = 32
  data: c.POINTER[ctypes.c_ubyte]
  end: c.POINTER[ctypes.c_ubyte]
  current: c.POINTER[ctypes.c_ubyte]
  overrun: bool
struct_blob_reader.register_fields([('data', c.POINTER[uint8_t], 0), ('end', c.POINTER[uint8_t], 8), ('current', c.POINTER[uint8_t], 16), ('overrun', ctypes.c_bool, 24)])
@dll.bind(c.POINTER[nir_shader], ctypes.c_void_p, c.POINTER[struct_nir_shader_compiler_options], c.POINTER[struct_blob_reader])
def nir_deserialize(mem_ctx:ctypes.c_void_p, options:c.POINTER[struct_nir_shader_compiler_options], blob:c.POINTER[struct_blob_reader]) -> c.POINTER[nir_shader]: ...
@dll.bind(None, c.POINTER[struct_blob], c.POINTER[nir_function])
def nir_serialize_function(blob:c.POINTER[struct_blob], fxn:c.POINTER[nir_function]) -> None: ...
@dll.bind(c.POINTER[nir_function], ctypes.c_void_p, c.POINTER[struct_nir_shader_compiler_options], c.POINTER[struct_blob_reader])
def nir_deserialize_function(mem_ctx:ctypes.c_void_p, options:c.POINTER[struct_nir_shader_compiler_options], blob:c.POINTER[struct_blob_reader]) -> c.POINTER[nir_function]: ...
nir_intrinsic_index_flag: dict[int, str] = {(NIR_INTRINSIC_BASE:=0): 'NIR_INTRINSIC_BASE', (NIR_INTRINSIC_WRITE_MASK:=1): 'NIR_INTRINSIC_WRITE_MASK', (NIR_INTRINSIC_STREAM_ID:=2): 'NIR_INTRINSIC_STREAM_ID', (NIR_INTRINSIC_UCP_ID:=3): 'NIR_INTRINSIC_UCP_ID', (NIR_INTRINSIC_RANGE_BASE:=4): 'NIR_INTRINSIC_RANGE_BASE', (NIR_INTRINSIC_RANGE:=5): 'NIR_INTRINSIC_RANGE', (NIR_INTRINSIC_DESC_SET:=6): 'NIR_INTRINSIC_DESC_SET', (NIR_INTRINSIC_BINDING:=7): 'NIR_INTRINSIC_BINDING', (NIR_INTRINSIC_COMPONENT:=8): 'NIR_INTRINSIC_COMPONENT', (NIR_INTRINSIC_COLUMN:=9): 'NIR_INTRINSIC_COLUMN', (NIR_INTRINSIC_INTERP_MODE:=10): 'NIR_INTRINSIC_INTERP_MODE', (NIR_INTRINSIC_REDUCTION_OP:=11): 'NIR_INTRINSIC_REDUCTION_OP', (NIR_INTRINSIC_CLUSTER_SIZE:=12): 'NIR_INTRINSIC_CLUSTER_SIZE', (NIR_INTRINSIC_PARAM_IDX:=13): 'NIR_INTRINSIC_PARAM_IDX', (NIR_INTRINSIC_IMAGE_DIM:=14): 'NIR_INTRINSIC_IMAGE_DIM', (NIR_INTRINSIC_IMAGE_ARRAY:=15): 'NIR_INTRINSIC_IMAGE_ARRAY', (NIR_INTRINSIC_FORMAT:=16): 'NIR_INTRINSIC_FORMAT', (NIR_INTRINSIC_ACCESS:=17): 'NIR_INTRINSIC_ACCESS', (NIR_INTRINSIC_CALL_IDX:=18): 'NIR_INTRINSIC_CALL_IDX', (NIR_INTRINSIC_STACK_SIZE:=19): 'NIR_INTRINSIC_STACK_SIZE', (NIR_INTRINSIC_ALIGN_MUL:=20): 'NIR_INTRINSIC_ALIGN_MUL', (NIR_INTRINSIC_ALIGN_OFFSET:=21): 'NIR_INTRINSIC_ALIGN_OFFSET', (NIR_INTRINSIC_DESC_TYPE:=22): 'NIR_INTRINSIC_DESC_TYPE', (NIR_INTRINSIC_SRC_TYPE:=23): 'NIR_INTRINSIC_SRC_TYPE', (NIR_INTRINSIC_DEST_TYPE:=24): 'NIR_INTRINSIC_DEST_TYPE', (NIR_INTRINSIC_SRC_BASE_TYPE:=25): 'NIR_INTRINSIC_SRC_BASE_TYPE', (NIR_INTRINSIC_SRC_BASE_TYPE2:=26): 'NIR_INTRINSIC_SRC_BASE_TYPE2', (NIR_INTRINSIC_DEST_BASE_TYPE:=27): 'NIR_INTRINSIC_DEST_BASE_TYPE', (NIR_INTRINSIC_SWIZZLE_MASK:=28): 'NIR_INTRINSIC_SWIZZLE_MASK', (NIR_INTRINSIC_FETCH_INACTIVE:=29): 'NIR_INTRINSIC_FETCH_INACTIVE', (NIR_INTRINSIC_OFFSET0:=30): 'NIR_INTRINSIC_OFFSET0', (NIR_INTRINSIC_OFFSET1:=31): 'NIR_INTRINSIC_OFFSET1', (NIR_INTRINSIC_ST64:=32): 'NIR_INTRINSIC_ST64', (NIR_INTRINSIC_ARG_UPPER_BOUND_U32_AMD:=33): 'NIR_INTRINSIC_ARG_UPPER_BOUND_U32_AMD', (NIR_INTRINSIC_DST_ACCESS:=34): 'NIR_INTRINSIC_DST_ACCESS', (NIR_INTRINSIC_SRC_ACCESS:=35): 'NIR_INTRINSIC_SRC_ACCESS', (NIR_INTRINSIC_DRIVER_LOCATION:=36): 'NIR_INTRINSIC_DRIVER_LOCATION', (NIR_INTRINSIC_MEMORY_SEMANTICS:=37): 'NIR_INTRINSIC_MEMORY_SEMANTICS', (NIR_INTRINSIC_MEMORY_MODES:=38): 'NIR_INTRINSIC_MEMORY_MODES', (NIR_INTRINSIC_MEMORY_SCOPE:=39): 'NIR_INTRINSIC_MEMORY_SCOPE', (NIR_INTRINSIC_EXECUTION_SCOPE:=40): 'NIR_INTRINSIC_EXECUTION_SCOPE', (NIR_INTRINSIC_IO_SEMANTICS:=41): 'NIR_INTRINSIC_IO_SEMANTICS', (NIR_INTRINSIC_IO_XFB:=42): 'NIR_INTRINSIC_IO_XFB', (NIR_INTRINSIC_IO_XFB2:=43): 'NIR_INTRINSIC_IO_XFB2', (NIR_INTRINSIC_RAY_QUERY_VALUE:=44): 'NIR_INTRINSIC_RAY_QUERY_VALUE', (NIR_INTRINSIC_COMMITTED:=45): 'NIR_INTRINSIC_COMMITTED', (NIR_INTRINSIC_ROUNDING_MODE:=46): 'NIR_INTRINSIC_ROUNDING_MODE', (NIR_INTRINSIC_SATURATE:=47): 'NIR_INTRINSIC_SATURATE', (NIR_INTRINSIC_SYNCHRONOUS:=48): 'NIR_INTRINSIC_SYNCHRONOUS', (NIR_INTRINSIC_VALUE_ID:=49): 'NIR_INTRINSIC_VALUE_ID', (NIR_INTRINSIC_SIGN_EXTEND:=50): 'NIR_INTRINSIC_SIGN_EXTEND', (NIR_INTRINSIC_FLAGS:=51): 'NIR_INTRINSIC_FLAGS', (NIR_INTRINSIC_ATOMIC_OP:=52): 'NIR_INTRINSIC_ATOMIC_OP', (NIR_INTRINSIC_RESOURCE_BLOCK_INTEL:=53): 'NIR_INTRINSIC_RESOURCE_BLOCK_INTEL', (NIR_INTRINSIC_RESOURCE_ACCESS_INTEL:=54): 'NIR_INTRINSIC_RESOURCE_ACCESS_INTEL', (NIR_INTRINSIC_NUM_COMPONENTS:=55): 'NIR_INTRINSIC_NUM_COMPONENTS', (NIR_INTRINSIC_NUM_ARRAY_ELEMS:=56): 'NIR_INTRINSIC_NUM_ARRAY_ELEMS', (NIR_INTRINSIC_BIT_SIZE:=57): 'NIR_INTRINSIC_BIT_SIZE', (NIR_INTRINSIC_DIVERGENT:=58): 'NIR_INTRINSIC_DIVERGENT', (NIR_INTRINSIC_LEGACY_FABS:=59): 'NIR_INTRINSIC_LEGACY_FABS', (NIR_INTRINSIC_LEGACY_FNEG:=60): 'NIR_INTRINSIC_LEGACY_FNEG', (NIR_INTRINSIC_LEGACY_FSAT:=61): 'NIR_INTRINSIC_LEGACY_FSAT', (NIR_INTRINSIC_CMAT_DESC:=62): 'NIR_INTRINSIC_CMAT_DESC', (NIR_INTRINSIC_MATRIX_LAYOUT:=63): 'NIR_INTRINSIC_MATRIX_LAYOUT', (NIR_INTRINSIC_CMAT_SIGNED_MASK:=64): 'NIR_INTRINSIC_CMAT_SIGNED_MASK', (NIR_INTRINSIC_ALU_OP:=65): 'NIR_INTRINSIC_ALU_OP', (NIR_INTRINSIC_NEG_LO_AMD:=66): 'NIR_INTRINSIC_NEG_LO_AMD', (NIR_INTRINSIC_NEG_HI_AMD:=67): 'NIR_INTRINSIC_NEG_HI_AMD', (NIR_INTRINSIC_SYSTOLIC_DEPTH:=68): 'NIR_INTRINSIC_SYSTOLIC_DEPTH', (NIR_INTRINSIC_REPEAT_COUNT:=69): 'NIR_INTRINSIC_REPEAT_COUNT', (NIR_INTRINSIC_DST_CMAT_DESC:=70): 'NIR_INTRINSIC_DST_CMAT_DESC', (NIR_INTRINSIC_SRC_CMAT_DESC:=71): 'NIR_INTRINSIC_SRC_CMAT_DESC', (NIR_INTRINSIC_EXPLICIT_COORD:=72): 'NIR_INTRINSIC_EXPLICIT_COORD', (NIR_INTRINSIC_FMT_IDX:=73): 'NIR_INTRINSIC_FMT_IDX', (NIR_INTRINSIC_PREAMBLE_CLASS:=74): 'NIR_INTRINSIC_PREAMBLE_CLASS', (NIR_INTRINSIC_NUM_INDEX_FLAGS:=75): 'NIR_INTRINSIC_NUM_INDEX_FLAGS'}
try: nir_intrinsic_index_names = c.Array[c.POINTER[ctypes.c_char], Literal[75]].in_dll(dll, 'nir_intrinsic_index_names') # type: ignore
except (ValueError,AttributeError): pass
enum_nv_device_type: dict[int, str] = {(NV_DEVICE_TYPE_IGP:=0): 'NV_DEVICE_TYPE_IGP', (NV_DEVICE_TYPE_DIS:=1): 'NV_DEVICE_TYPE_DIS', (NV_DEVICE_TYPE_SOC:=2): 'NV_DEVICE_TYPE_SOC'}
@c.record
class struct_nv_device_info(c.Struct):
  SIZE = 128
  type: int
  device_id: int
  chipset: int
  device_name: c.Array[ctypes.c_char, Literal[64]]
  chipset_name: c.Array[ctypes.c_char, Literal[16]]
  pci: struct_nv_device_info_pci
  sm: int
  gpc_count: int
  tpc_count: int
  mp_per_tpc: int
  max_warps_per_mp: int
  cls_copy: int
  cls_eng2d: int
  cls_eng3d: int
  cls_m2mf: int
  cls_compute: int
  vram_size_B: int
  bar_size_B: int
@c.record
class struct_nv_device_info_pci(c.Struct):
  SIZE = 6
  domain: int
  bus: int
  dev: int
  func: int
  revision_id: int
struct_nv_device_info_pci.register_fields([('domain', uint16_t, 0), ('bus', uint8_t, 2), ('dev', uint8_t, 3), ('func', uint8_t, 4), ('revision_id', uint8_t, 5)])
struct_nv_device_info.register_fields([('type', ctypes.c_ubyte, 0), ('device_id', uint16_t, 2), ('chipset', uint16_t, 4), ('device_name', c.Array[ctypes.c_char, Literal[64]], 6), ('chipset_name', c.Array[ctypes.c_char, Literal[16]], 70), ('pci', struct_nv_device_info_pci, 86), ('sm', uint8_t, 92), ('gpc_count', uint8_t, 93), ('tpc_count', uint16_t, 94), ('mp_per_tpc', uint8_t, 96), ('max_warps_per_mp', uint8_t, 97), ('cls_copy', uint16_t, 98), ('cls_eng2d', uint16_t, 100), ('cls_eng3d', uint16_t, 102), ('cls_m2mf', uint16_t, 104), ('cls_compute', uint16_t, 106), ('vram_size_B', uint64_t, 112), ('bar_size_B', uint64_t, 120)])
class struct_nak_compiler(c.Struct): pass
@dll.bind(c.POINTER[struct_nak_compiler], c.POINTER[struct_nv_device_info])
def nak_compiler_create(dev:c.POINTER[struct_nv_device_info]) -> c.POINTER[struct_nak_compiler]: ...
@dll.bind(None, c.POINTER[struct_nak_compiler])
def nak_compiler_destroy(nak:c.POINTER[struct_nak_compiler]) -> None: ...
@dll.bind(uint64_t, c.POINTER[struct_nak_compiler])
def nak_debug_flags(nak:c.POINTER[struct_nak_compiler]) -> uint64_t: ...
@dll.bind(c.POINTER[struct_nir_shader_compiler_options], c.POINTER[struct_nak_compiler])
def nak_nir_options(nak:c.POINTER[struct_nak_compiler]) -> c.POINTER[struct_nir_shader_compiler_options]: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[struct_nak_compiler])
def nak_preprocess_nir(nir:c.POINTER[nir_shader], nak:c.POINTER[struct_nak_compiler]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_nak_compiler])
def nak_nir_lower_image_addrs(nir:c.POINTER[nir_shader], nak:c.POINTER[struct_nak_compiler]) -> bool: ...
@c.record
class struct_nak_sample_location(c.Struct):
  SIZE = 1
  x_u4: int
  y_u4: int
struct_nak_sample_location.register_fields([('x_u4', uint8_t, 0, 4, 0), ('y_u4', uint8_t, 0, 4, 4)])
@c.record
class struct_nak_sample_mask(c.Struct):
  SIZE = 2
  sample_mask: int
struct_nak_sample_mask.register_fields([('sample_mask', uint16_t, 0)])
@c.record
class struct_nak_fs_key(c.Struct):
  SIZE = 12
  zs_self_dep: bool
  force_sample_shading: bool
  uses_underestimate: bool
  sample_info_cb: int
  sample_locations_offset: int
  sample_masks_offset: int
struct_nak_fs_key.register_fields([('zs_self_dep', ctypes.c_bool, 0), ('force_sample_shading', ctypes.c_bool, 1), ('uses_underestimate', ctypes.c_bool, 2), ('sample_info_cb', uint8_t, 3), ('sample_locations_offset', uint32_t, 4), ('sample_masks_offset', uint32_t, 8)])
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[struct_nak_compiler], ctypes.c_uint32, c.POINTER[struct_nak_fs_key])
def nak_postprocess_nir(nir:c.POINTER[nir_shader], nak:c.POINTER[struct_nak_compiler], robust2_modes:ctypes.c_uint32, fs_key:c.POINTER[struct_nak_fs_key]) -> None: ...
enum_nak_ts_domain: dict[int, str] = {(NAK_TS_DOMAIN_ISOLINE:=0): 'NAK_TS_DOMAIN_ISOLINE', (NAK_TS_DOMAIN_TRIANGLE:=1): 'NAK_TS_DOMAIN_TRIANGLE', (NAK_TS_DOMAIN_QUAD:=2): 'NAK_TS_DOMAIN_QUAD'}
enum_nak_ts_spacing: dict[int, str] = {(NAK_TS_SPACING_INTEGER:=0): 'NAK_TS_SPACING_INTEGER', (NAK_TS_SPACING_FRACT_ODD:=1): 'NAK_TS_SPACING_FRACT_ODD', (NAK_TS_SPACING_FRACT_EVEN:=2): 'NAK_TS_SPACING_FRACT_EVEN'}
enum_nak_ts_prims: dict[int, str] = {(NAK_TS_PRIMS_POINTS:=0): 'NAK_TS_PRIMS_POINTS', (NAK_TS_PRIMS_LINES:=1): 'NAK_TS_PRIMS_LINES', (NAK_TS_PRIMS_TRIANGLES_CW:=2): 'NAK_TS_PRIMS_TRIANGLES_CW', (NAK_TS_PRIMS_TRIANGLES_CCW:=3): 'NAK_TS_PRIMS_TRIANGLES_CCW'}
@c.record
class struct_nak_xfb_info(c.Struct):
  SIZE = 536
  stride: c.Array[ctypes.c_uint32, Literal[4]]
  stream: c.Array[ctypes.c_ubyte, Literal[4]]
  attr_count: c.Array[ctypes.c_ubyte, Literal[4]]
  attr_index: c.Array[c.Array[ctypes.c_ubyte, Literal[128]], Literal[4]]
struct_nak_xfb_info.register_fields([('stride', c.Array[uint32_t, Literal[4]], 0), ('stream', c.Array[uint8_t, Literal[4]], 16), ('attr_count', c.Array[uint8_t, Literal[4]], 20), ('attr_index', c.Array[c.Array[uint8_t, Literal[128]], Literal[4]], 24)])
@c.record
class struct_nak_shader_info(c.Struct):
  SIZE = 728
  stage: int
  sm: int
  num_gprs: int
  num_control_barriers: int
  _pad0: int
  max_warps_per_sm: int
  num_instrs: int
  num_static_cycles: int
  num_spills_to_mem: int
  num_fills_from_mem: int
  num_spills_to_reg: int
  num_fills_from_reg: int
  slm_size: int
  crs_size: int
  cs: struct_nak_shader_info_cs
  fs: struct_nak_shader_info_fs
  ts: struct_nak_shader_info_ts
  _pad: c.Array[ctypes.c_ubyte, Literal[12]]
  vtg: struct_nak_shader_info_vtg
  hdr: c.Array[ctypes.c_uint32, Literal[32]]
@c.record
class struct_nak_shader_info_cs(c.Struct):
  SIZE = 12
  local_size: c.Array[ctypes.c_uint16, Literal[3]]
  smem_size: int
  _pad: c.Array[ctypes.c_ubyte, Literal[4]]
struct_nak_shader_info_cs.register_fields([('local_size', c.Array[uint16_t, Literal[3]], 0), ('smem_size', uint16_t, 6), ('_pad', c.Array[uint8_t, Literal[4]], 8)])
@c.record
class struct_nak_shader_info_fs(c.Struct):
  SIZE = 12
  writes_depth: bool
  reads_sample_mask: bool
  post_depth_coverage: bool
  uses_sample_shading: bool
  early_fragment_tests: bool
  _pad: c.Array[ctypes.c_ubyte, Literal[7]]
struct_nak_shader_info_fs.register_fields([('writes_depth', ctypes.c_bool, 0), ('reads_sample_mask', ctypes.c_bool, 1), ('post_depth_coverage', ctypes.c_bool, 2), ('uses_sample_shading', ctypes.c_bool, 3), ('early_fragment_tests', ctypes.c_bool, 4), ('_pad', c.Array[uint8_t, Literal[7]], 5)])
@c.record
class struct_nak_shader_info_ts(c.Struct):
  SIZE = 12
  domain: int
  spacing: int
  prims: int
  _pad: c.Array[ctypes.c_ubyte, Literal[9]]
struct_nak_shader_info_ts.register_fields([('domain', ctypes.c_ubyte, 0), ('spacing', ctypes.c_ubyte, 1), ('prims', ctypes.c_ubyte, 2), ('_pad', c.Array[uint8_t, Literal[9]], 3)])
@c.record
class struct_nak_shader_info_vtg(c.Struct):
  SIZE = 544
  writes_layer: bool
  writes_point_size: bool
  writes_vprs_table_index: bool
  clip_enable: int
  cull_enable: int
  _pad: c.Array[ctypes.c_ubyte, Literal[3]]
  xfb: struct_nak_xfb_info
struct_nak_shader_info_vtg.register_fields([('writes_layer', ctypes.c_bool, 0), ('writes_point_size', ctypes.c_bool, 1), ('writes_vprs_table_index', ctypes.c_bool, 2), ('clip_enable', uint8_t, 3), ('cull_enable', uint8_t, 4), ('_pad', c.Array[uint8_t, Literal[3]], 5), ('xfb', struct_nak_xfb_info, 8)])
struct_nak_shader_info.register_fields([('stage', gl_shader_stage, 0), ('sm', uint8_t, 4), ('num_gprs', uint8_t, 5), ('num_control_barriers', uint8_t, 6), ('_pad0', uint8_t, 7), ('max_warps_per_sm', uint32_t, 8), ('num_instrs', uint32_t, 12), ('num_static_cycles', uint32_t, 16), ('num_spills_to_mem', uint32_t, 20), ('num_fills_from_mem', uint32_t, 24), ('num_spills_to_reg', uint32_t, 28), ('num_fills_from_reg', uint32_t, 32), ('slm_size', uint32_t, 36), ('crs_size', uint32_t, 40), ('cs', struct_nak_shader_info_cs, 44), ('fs', struct_nak_shader_info_fs, 44), ('ts', struct_nak_shader_info_ts, 44), ('_pad', c.Array[uint8_t, Literal[12]], 44), ('vtg', struct_nak_shader_info_vtg, 56), ('hdr', c.Array[uint32_t, Literal[32]], 600)])
@c.record
class struct_nak_shader_bin(c.Struct):
  SIZE = 752
  info: struct_nak_shader_info
  code_size: int
  code: ctypes.c_void_p
  asm_str: c.POINTER[ctypes.c_char]
struct_nak_shader_bin.register_fields([('info', struct_nak_shader_info, 0), ('code_size', uint32_t, 728), ('code', ctypes.c_void_p, 736), ('asm_str', c.POINTER[ctypes.c_char], 744)])
@dll.bind(None, c.POINTER[struct_nak_shader_bin])
def nak_shader_bin_destroy(bin:c.POINTER[struct_nak_shader_bin]) -> None: ...
@dll.bind(c.POINTER[struct_nak_shader_bin], c.POINTER[nir_shader], ctypes.c_bool, c.POINTER[struct_nak_compiler], ctypes.c_uint32, c.POINTER[struct_nak_fs_key])
def nak_compile_shader(nir:c.POINTER[nir_shader], dump_asm:bool, nak:c.POINTER[struct_nak_compiler], robust2_modes:ctypes.c_uint32, fs_key:c.POINTER[struct_nak_fs_key]) -> c.POINTER[struct_nak_shader_bin]: ...
@c.record
class struct_nak_qmd_cbuf(c.Struct):
  SIZE = 16
  index: int
  size: int
  addr: int
struct_nak_qmd_cbuf.register_fields([('index', uint32_t, 0), ('size', uint32_t, 4), ('addr', uint64_t, 8)])
@c.record
class struct_nak_qmd_info(c.Struct):
  SIZE = 160
  addr: int
  smem_size: int
  smem_max: int
  global_size: c.Array[ctypes.c_uint32, Literal[3]]
  num_cbufs: int
  cbufs: c.Array[struct_nak_qmd_cbuf, Literal[8]]
struct_nak_qmd_info.register_fields([('addr', uint64_t, 0), ('smem_size', uint16_t, 8), ('smem_max', uint16_t, 10), ('global_size', c.Array[uint32_t, Literal[3]], 12), ('num_cbufs', uint32_t, 24), ('cbufs', c.Array[struct_nak_qmd_cbuf, Literal[8]], 32)])
@dll.bind(uint32_t, c.POINTER[struct_nv_device_info])
def nak_qmd_size_B(dev:c.POINTER[struct_nv_device_info]) -> uint32_t: ...
@dll.bind(None, c.POINTER[struct_nv_device_info], c.POINTER[struct_nak_shader_info], c.POINTER[struct_nak_qmd_info], ctypes.c_void_p, size_t)
def nak_fill_qmd(dev:c.POINTER[struct_nv_device_info], info:c.POINTER[struct_nak_shader_info], qmd_info:c.POINTER[struct_nak_qmd_info], qmd_out:ctypes.c_void_p, qmd_size:size_t) -> None: ...
@c.record
class struct_nak_qmd_dispatch_size_layout(c.Struct):
  SIZE = 12
  x_start: int
  x_end: int
  y_start: int
  y_end: int
  z_start: int
  z_end: int
struct_nak_qmd_dispatch_size_layout.register_fields([('x_start', uint16_t, 0), ('x_end', uint16_t, 2), ('y_start', uint16_t, 4), ('y_end', uint16_t, 6), ('z_start', uint16_t, 8), ('z_end', uint16_t, 10)])
@dll.bind(struct_nak_qmd_dispatch_size_layout, c.POINTER[struct_nv_device_info])
def nak_get_qmd_dispatch_size_layout(dev:c.POINTER[struct_nv_device_info]) -> struct_nak_qmd_dispatch_size_layout: ...
@c.record
class struct_nak_qmd_cbuf_desc_layout(c.Struct):
  SIZE = 10
  addr_shift: int
  addr_lo_start: int
  addr_lo_end: int
  addr_hi_start: int
  addr_hi_end: int
struct_nak_qmd_cbuf_desc_layout.register_fields([('addr_shift', uint16_t, 0), ('addr_lo_start', uint16_t, 2), ('addr_lo_end', uint16_t, 4), ('addr_hi_start', uint16_t, 6), ('addr_hi_end', uint16_t, 8)])
@dll.bind(struct_nak_qmd_cbuf_desc_layout, c.POINTER[struct_nv_device_info], uint8_t)
def nak_get_qmd_cbuf_desc_layout(dev:c.POINTER[struct_nv_device_info], idx:uint8_t) -> struct_nak_qmd_cbuf_desc_layout: ...
@c.record
class struct_lp_context_ref(c.Struct):
  SIZE = 16
  ref: c.POINTER[struct_LLVMOpaqueContext]
  owned: bool
class struct_LLVMOpaqueContext(c.Struct): pass
LLVMContextRef: TypeAlias = c.POINTER[struct_LLVMOpaqueContext]
struct_lp_context_ref.register_fields([('ref', LLVMContextRef, 0), ('owned', ctypes.c_bool, 8)])
lp_context_ref: TypeAlias = struct_lp_context_ref
class struct_lp_passmgr(c.Struct): pass
class struct_LLVMOpaqueModule(c.Struct): pass
LLVMModuleRef: TypeAlias = c.POINTER[struct_LLVMOpaqueModule]
@dll.bind(ctypes.c_bool, LLVMModuleRef, c.POINTER[c.POINTER[struct_lp_passmgr]])
def lp_passmgr_create(module:LLVMModuleRef, mgr:c.POINTER[c.POINTER[struct_lp_passmgr]]) -> bool: ...
class struct_LLVMOpaqueTargetMachine(c.Struct): pass
LLVMTargetMachineRef: TypeAlias = c.POINTER[struct_LLVMOpaqueTargetMachine]
@dll.bind(None, c.POINTER[struct_lp_passmgr], LLVMModuleRef, LLVMTargetMachineRef, c.POINTER[ctypes.c_char])
def lp_passmgr_run(mgr:c.POINTER[struct_lp_passmgr], module:LLVMModuleRef, tm:LLVMTargetMachineRef, module_name:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_passmgr])
def lp_passmgr_dispose(mgr:c.POINTER[struct_lp_passmgr]) -> None: ...
@c.record
class struct_lp_cached_code(c.Struct):
  SIZE = 32
  data: ctypes.c_void_p
  data_size: int
  dont_cache: bool
  jit_obj_cache: ctypes.c_void_p
struct_lp_cached_code.register_fields([('data', ctypes.c_void_p, 0), ('data_size', size_t, 8), ('dont_cache', ctypes.c_bool, 16), ('jit_obj_cache', ctypes.c_void_p, 24)])
class struct_lp_generated_code(c.Struct): pass
class struct_LLVMOpaqueTargetLibraryInfotData(c.Struct): pass
LLVMTargetLibraryInfoRef: TypeAlias = c.POINTER[struct_LLVMOpaqueTargetLibraryInfotData]
@dll.bind(LLVMTargetLibraryInfoRef, c.POINTER[ctypes.c_char])
def gallivm_create_target_library_info(triple:c.POINTER[ctypes.c_char]) -> LLVMTargetLibraryInfoRef: ...
@dll.bind(None, LLVMTargetLibraryInfoRef)
def gallivm_dispose_target_library_info(library_info:LLVMTargetLibraryInfoRef) -> None: ...
@dll.bind(None)
def lp_set_target_options() -> None: ...
@dll.bind(None)
def lp_bld_init_native_targets() -> None: ...
class struct_LLVMOpaqueExecutionEngine(c.Struct): pass
LLVMExecutionEngineRef: TypeAlias = c.POINTER[struct_LLVMOpaqueExecutionEngine]
class struct_LLVMOpaqueMCJITMemoryManager(c.Struct): pass
LLVMMCJITMemoryManagerRef: TypeAlias = c.POINTER[struct_LLVMOpaqueMCJITMemoryManager]
@dll.bind(ctypes.c_int32, c.POINTER[LLVMExecutionEngineRef], c.POINTER[c.POINTER[struct_lp_generated_code]], c.POINTER[struct_lp_cached_code], LLVMModuleRef, LLVMMCJITMemoryManagerRef, ctypes.c_uint32, c.POINTER[c.POINTER[ctypes.c_char]])
def lp_build_create_jit_compiler_for_module(OutJIT:c.POINTER[LLVMExecutionEngineRef], OutCode:c.POINTER[c.POINTER[struct_lp_generated_code]], cache_out:c.POINTER[struct_lp_cached_code], M:LLVMModuleRef, MM:LLVMMCJITMemoryManagerRef, OptLevel:int, OutError:c.POINTER[c.POINTER[ctypes.c_char]]) -> int: ...
@dll.bind(None, c.POINTER[struct_lp_generated_code])
def lp_free_generated_code(code:c.POINTER[struct_lp_generated_code]) -> None: ...
@dll.bind(LLVMMCJITMemoryManagerRef)
def lp_get_default_memory_manager() -> LLVMMCJITMemoryManagerRef: ...
@dll.bind(None, LLVMMCJITMemoryManagerRef)
def lp_free_memory_manager(memorymgr:LLVMMCJITMemoryManagerRef) -> None: ...
class struct_LLVMOpaqueValue(c.Struct): pass
LLVMValueRef: TypeAlias = c.POINTER[struct_LLVMOpaqueValue]
@dll.bind(LLVMValueRef, LLVMValueRef)
def lp_get_called_value(call:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(ctypes.c_bool, LLVMValueRef)
def lp_is_function(v:LLVMValueRef) -> bool: ...
@dll.bind(None, ctypes.c_void_p)
def lp_free_objcache(objcache:ctypes.c_void_p) -> None: ...
@dll.bind(None, LLVMModuleRef, ctypes.c_uint32)
def lp_set_module_stack_alignment_override(M:LLVMModuleRef, align:int) -> None: ...
try: lp_native_vector_width = ctypes.c_uint32.in_dll(dll, 'lp_native_vector_width') # type: ignore
except (ValueError,AttributeError): pass
@c.record
class struct_lp_type(c.Struct):
  SIZE = 8
  floating: int
  fixed: int
  sign: int
  norm: int
  signed_zero_preserve: int
  nan_preserve: int
  width: int
  length: int
struct_lp_type.register_fields([('floating', ctypes.c_uint32, 0, 1, 0), ('fixed', ctypes.c_uint32, 0, 1, 1), ('sign', ctypes.c_uint32, 0, 1, 2), ('norm', ctypes.c_uint32, 0, 1, 3), ('signed_zero_preserve', ctypes.c_uint32, 0, 1, 4), ('nan_preserve', ctypes.c_uint32, 0, 1, 5), ('width', ctypes.c_uint32, 0, 14, 6), ('length', ctypes.c_uint32, 4, 14, 0)])
@c.record
class struct_lp_build_context(c.Struct):
  SIZE = 72
  gallivm: c.POINTER[struct_gallivm_state]
  type: struct_lp_type
  elem_type: c.POINTER[struct_LLVMOpaqueType]
  vec_type: c.POINTER[struct_LLVMOpaqueType]
  int_elem_type: c.POINTER[struct_LLVMOpaqueType]
  int_vec_type: c.POINTER[struct_LLVMOpaqueType]
  undef: c.POINTER[struct_LLVMOpaqueValue]
  zero: c.POINTER[struct_LLVMOpaqueValue]
  one: c.POINTER[struct_LLVMOpaqueValue]
@c.record
class struct_gallivm_state(c.Struct):
  SIZE = 192
  module_name: c.POINTER[ctypes.c_char]
  file_name: c.POINTER[ctypes.c_char]
  module: c.POINTER[struct_LLVMOpaqueModule]
  target: c.POINTER[struct_LLVMOpaqueTargetData]
  engine: c.POINTER[struct_LLVMOpaqueExecutionEngine]
  passmgr: c.POINTER[struct_lp_passmgr]
  memorymgr: c.POINTER[struct_LLVMOpaqueMCJITMemoryManager]
  code: c.POINTER[struct_lp_generated_code]
  context: c.POINTER[struct_LLVMOpaqueContext]
  builder: c.POINTER[struct_LLVMOpaqueBuilder]
  di_builder: c.POINTER[struct_LLVMOpaqueDIBuilder]
  cache: c.POINTER[struct_lp_cached_code]
  compiled: int
  coro_malloc_hook: c.POINTER[struct_LLVMOpaqueValue]
  coro_free_hook: c.POINTER[struct_LLVMOpaqueValue]
  debug_printf_hook: c.POINTER[struct_LLVMOpaqueValue]
  coro_malloc_hook_type: c.POINTER[struct_LLVMOpaqueType]
  coro_free_hook_type: c.POINTER[struct_LLVMOpaqueType]
  di_function: c.POINTER[struct_LLVMOpaqueMetadata]
  file: c.POINTER[struct_LLVMOpaqueMetadata]
  get_time_hook: c.POINTER[struct_LLVMOpaqueValue]
  texture_descriptor: c.POINTER[struct_LLVMOpaqueValue]
  texture_dynamic_state: c.POINTER[struct_lp_jit_texture]
  sampler_descriptor: c.POINTER[struct_LLVMOpaqueValue]
class struct_LLVMOpaqueType(c.Struct): pass
LLVMTypeRef: TypeAlias = c.POINTER[struct_LLVMOpaqueType]
struct_lp_build_context.register_fields([('gallivm', c.POINTER[struct_gallivm_state], 0), ('type', struct_lp_type, 8), ('elem_type', LLVMTypeRef, 16), ('vec_type', LLVMTypeRef, 24), ('int_elem_type', LLVMTypeRef, 32), ('int_vec_type', LLVMTypeRef, 40), ('undef', LLVMValueRef, 48), ('zero', LLVMValueRef, 56), ('one', LLVMValueRef, 64)])
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_elem_type(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_vec_type(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> LLVMTypeRef: ...
@dll.bind(ctypes.c_bool, struct_lp_type, LLVMTypeRef)
def lp_check_elem_type(type:struct_lp_type, elem_type:LLVMTypeRef) -> bool: ...
@dll.bind(ctypes.c_bool, struct_lp_type, LLVMTypeRef)
def lp_check_vec_type(type:struct_lp_type, vec_type:LLVMTypeRef) -> bool: ...
@dll.bind(ctypes.c_bool, struct_lp_type, LLVMValueRef)
def lp_check_value(type:struct_lp_type, val:LLVMValueRef) -> bool: ...
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_int_elem_type(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_int_vec_type(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> LLVMTypeRef: ...
@dll.bind(struct_lp_type, struct_lp_type)
def lp_elem_type(type:struct_lp_type) -> struct_lp_type: ...
@dll.bind(struct_lp_type, struct_lp_type)
def lp_uint_type(type:struct_lp_type) -> struct_lp_type: ...
@dll.bind(struct_lp_type, struct_lp_type)
def lp_int_type(type:struct_lp_type) -> struct_lp_type: ...
@dll.bind(struct_lp_type, struct_lp_type)
def lp_wider_type(type:struct_lp_type) -> struct_lp_type: ...
@dll.bind(ctypes.c_uint32, LLVMTypeRef)
def lp_sizeof_llvm_type(t:LLVMTypeRef) -> int: ...
LLVMTypeKind: dict[int, str] = {(LLVMVoidTypeKind:=0): 'LLVMVoidTypeKind', (LLVMHalfTypeKind:=1): 'LLVMHalfTypeKind', (LLVMFloatTypeKind:=2): 'LLVMFloatTypeKind', (LLVMDoubleTypeKind:=3): 'LLVMDoubleTypeKind', (LLVMX86_FP80TypeKind:=4): 'LLVMX86_FP80TypeKind', (LLVMFP128TypeKind:=5): 'LLVMFP128TypeKind', (LLVMPPC_FP128TypeKind:=6): 'LLVMPPC_FP128TypeKind', (LLVMLabelTypeKind:=7): 'LLVMLabelTypeKind', (LLVMIntegerTypeKind:=8): 'LLVMIntegerTypeKind', (LLVMFunctionTypeKind:=9): 'LLVMFunctionTypeKind', (LLVMStructTypeKind:=10): 'LLVMStructTypeKind', (LLVMArrayTypeKind:=11): 'LLVMArrayTypeKind', (LLVMPointerTypeKind:=12): 'LLVMPointerTypeKind', (LLVMVectorTypeKind:=13): 'LLVMVectorTypeKind', (LLVMMetadataTypeKind:=14): 'LLVMMetadataTypeKind', (LLVMTokenTypeKind:=16): 'LLVMTokenTypeKind', (LLVMScalableVectorTypeKind:=17): 'LLVMScalableVectorTypeKind', (LLVMBFloatTypeKind:=18): 'LLVMBFloatTypeKind', (LLVMX86_AMXTypeKind:=19): 'LLVMX86_AMXTypeKind', (LLVMTargetExtTypeKind:=20): 'LLVMTargetExtTypeKind'}
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_uint32)
def lp_typekind_name(t:ctypes.c_uint32) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, LLVMTypeRef)
def lp_dump_llvmtype(t:LLVMTypeRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_context], c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_context_init(bld:c.POINTER[struct_lp_build_context], gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> None: ...
@dll.bind(ctypes.c_uint32, LLVMModuleRef)
def lp_build_count_ir_module(module:LLVMModuleRef) -> int: ...
@c.record
class struct_lp_jit_texture(c.Struct):
  SIZE = 216
  base: ctypes.c_void_p
  width: int
  height: int
  depth: int
  row_stride: c.Array[ctypes.c_uint32, Literal[16]]
  img_stride: c.Array[ctypes.c_uint32, Literal[16]]
  residency: ctypes.c_void_p
  first_level: int
  last_level: int
  mip_offsets: c.Array[ctypes.c_uint32, Literal[16]]
  sampler_index: int
class struct_LLVMOpaqueTargetData(c.Struct): pass
LLVMTargetDataRef: TypeAlias = c.POINTER[struct_LLVMOpaqueTargetData]
class struct_LLVMOpaqueBuilder(c.Struct): pass
LLVMBuilderRef: TypeAlias = c.POINTER[struct_LLVMOpaqueBuilder]
class struct_LLVMOpaqueDIBuilder(c.Struct): pass
LLVMDIBuilderRef: TypeAlias = c.POINTER[struct_LLVMOpaqueDIBuilder]
class struct_LLVMOpaqueMetadata(c.Struct): pass
LLVMMetadataRef: TypeAlias = c.POINTER[struct_LLVMOpaqueMetadata]
struct_gallivm_state.register_fields([('module_name', c.POINTER[ctypes.c_char], 0), ('file_name', c.POINTER[ctypes.c_char], 8), ('module', LLVMModuleRef, 16), ('target', LLVMTargetDataRef, 24), ('engine', LLVMExecutionEngineRef, 32), ('passmgr', c.POINTER[struct_lp_passmgr], 40), ('memorymgr', LLVMMCJITMemoryManagerRef, 48), ('code', c.POINTER[struct_lp_generated_code], 56), ('context', LLVMContextRef, 64), ('builder', LLVMBuilderRef, 72), ('di_builder', LLVMDIBuilderRef, 80), ('cache', c.POINTER[struct_lp_cached_code], 88), ('compiled', ctypes.c_uint32, 96), ('coro_malloc_hook', LLVMValueRef, 104), ('coro_free_hook', LLVMValueRef, 112), ('debug_printf_hook', LLVMValueRef, 120), ('coro_malloc_hook_type', LLVMTypeRef, 128), ('coro_free_hook_type', LLVMTypeRef, 136), ('di_function', LLVMMetadataRef, 144), ('file', LLVMMetadataRef, 152), ('get_time_hook', LLVMValueRef, 160), ('texture_descriptor', LLVMValueRef, 168), ('texture_dynamic_state', c.POINTER[struct_lp_jit_texture], 176), ('sampler_descriptor', LLVMValueRef, 184)])
@dll.bind(ctypes.c_uint32)
def lp_build_init_native_width() -> int: ...
@dll.bind(ctypes.c_bool)
def lp_build_init() -> bool: ...
@dll.bind(c.POINTER[struct_gallivm_state], c.POINTER[ctypes.c_char], c.POINTER[lp_context_ref], c.POINTER[struct_lp_cached_code])
def gallivm_create(name:c.POINTER[ctypes.c_char], context:c.POINTER[lp_context_ref], cache:c.POINTER[struct_lp_cached_code]) -> c.POINTER[struct_gallivm_state]: ...
@dll.bind(None, c.POINTER[struct_gallivm_state])
def gallivm_destroy(gallivm:c.POINTER[struct_gallivm_state]) -> None: ...
@dll.bind(None, c.POINTER[struct_gallivm_state])
def gallivm_free_ir(gallivm:c.POINTER[struct_gallivm_state]) -> None: ...
@dll.bind(None, c.POINTER[struct_gallivm_state], LLVMValueRef)
def gallivm_verify_function(gallivm:c.POINTER[struct_gallivm_state], func:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_gallivm_state], LLVMValueRef, ctypes.c_void_p)
def gallivm_add_global_mapping(gallivm:c.POINTER[struct_gallivm_state], sym:LLVMValueRef, addr:ctypes.c_void_p) -> None: ...
@dll.bind(None, c.POINTER[struct_gallivm_state])
def gallivm_compile_module(gallivm:c.POINTER[struct_gallivm_state]) -> None: ...
func_pointer: TypeAlias = c.CFUNCTYPE[None, []]
@dll.bind(func_pointer, c.POINTER[struct_gallivm_state], LLVMValueRef, c.POINTER[ctypes.c_char])
def gallivm_jit_function(gallivm:c.POINTER[struct_gallivm_state], func:LLVMValueRef, func_name:c.POINTER[ctypes.c_char]) -> func_pointer: ...
@dll.bind(None, c.POINTER[struct_gallivm_state], LLVMValueRef)
def gallivm_stub_func(gallivm:c.POINTER[struct_gallivm_state], func:LLVMValueRef) -> None: ...
@dll.bind(ctypes.c_uint32)
def gallivm_get_perf_flags() -> int: ...
@dll.bind(None, c.POINTER[struct_gallivm_state])
def lp_init_clock_hook(gallivm:c.POINTER[struct_gallivm_state]) -> None: ...
@dll.bind(None)
def lp_init_env_options() -> None: ...
@c.record
class struct_lp_build_tgsi_params(c.Struct):
  SIZE = 248
  type: struct_lp_type
  mask: c.POINTER[struct_lp_build_mask_context]
  consts_ptr: c.POINTER[struct_LLVMOpaqueValue]
  const_sizes_ptr: c.POINTER[struct_LLVMOpaqueValue]
  system_values: c.POINTER[struct_lp_bld_tgsi_system_values]
  inputs: c.POINTER[c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[4]]]
  num_inputs: int
  context_type: c.POINTER[struct_LLVMOpaqueType]
  context_ptr: c.POINTER[struct_LLVMOpaqueValue]
  resources_type: c.POINTER[struct_LLVMOpaqueType]
  resources_ptr: c.POINTER[struct_LLVMOpaqueValue]
  thread_data_type: c.POINTER[struct_LLVMOpaqueType]
  thread_data_ptr: c.POINTER[struct_LLVMOpaqueValue]
  sampler: c.POINTER[struct_lp_build_sampler_soa]
  info: c.POINTER[struct_tgsi_shader_info]
  gs_iface: c.POINTER[struct_lp_build_gs_iface]
  tcs_iface: c.POINTER[struct_lp_build_tcs_iface]
  tes_iface: c.POINTER[struct_lp_build_tes_iface]
  mesh_iface: c.POINTER[struct_lp_build_mesh_iface]
  ssbo_ptr: c.POINTER[struct_LLVMOpaqueValue]
  ssbo_sizes_ptr: c.POINTER[struct_LLVMOpaqueValue]
  image: c.POINTER[struct_lp_build_image_soa]
  shared_ptr: c.POINTER[struct_LLVMOpaqueValue]
  payload_ptr: c.POINTER[struct_LLVMOpaqueValue]
  coro: c.POINTER[struct_lp_build_coro_suspend_info]
  fs_iface: c.POINTER[struct_lp_build_fs_iface]
  gs_vertex_streams: int
  current_func: c.POINTER[struct_LLVMOpaqueValue]
  fns: c.POINTER[struct_hash_table]
  scratch_ptr: c.POINTER[struct_LLVMOpaqueValue]
  call_context_ptr: c.POINTER[struct_LLVMOpaqueValue]
@c.record
class struct_lp_build_mask_context(c.Struct):
  SIZE = 40
  skip: struct_lp_build_skip_context
  reg_type: c.POINTER[struct_LLVMOpaqueType]
  var_type: c.POINTER[struct_LLVMOpaqueType]
  var: c.POINTER[struct_LLVMOpaqueValue]
@c.record
class struct_lp_build_skip_context(c.Struct):
  SIZE = 16
  gallivm: c.POINTER[struct_gallivm_state]
  block: c.POINTER[struct_LLVMOpaqueBasicBlock]
class struct_LLVMOpaqueBasicBlock(c.Struct): pass
LLVMBasicBlockRef: TypeAlias = c.POINTER[struct_LLVMOpaqueBasicBlock]
struct_lp_build_skip_context.register_fields([('gallivm', c.POINTER[struct_gallivm_state], 0), ('block', LLVMBasicBlockRef, 8)])
struct_lp_build_mask_context.register_fields([('skip', struct_lp_build_skip_context, 0), ('reg_type', LLVMTypeRef, 16), ('var_type', LLVMTypeRef, 24), ('var', LLVMValueRef, 32)])
@c.record
class struct_lp_bld_tgsi_system_values(c.Struct):
  SIZE = 272
  instance_id: c.POINTER[struct_LLVMOpaqueValue]
  base_instance: c.POINTER[struct_LLVMOpaqueValue]
  vertex_id: c.POINTER[struct_LLVMOpaqueValue]
  vertex_id_nobase: c.POINTER[struct_LLVMOpaqueValue]
  prim_id: c.POINTER[struct_LLVMOpaqueValue]
  basevertex: c.POINTER[struct_LLVMOpaqueValue]
  firstvertex: c.POINTER[struct_LLVMOpaqueValue]
  invocation_id: c.POINTER[struct_LLVMOpaqueValue]
  draw_id: c.POINTER[struct_LLVMOpaqueValue]
  thread_id: c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[3]]
  block_id: c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[3]]
  grid_size: c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[3]]
  front_facing: c.POINTER[struct_LLVMOpaqueValue]
  work_dim: c.POINTER[struct_LLVMOpaqueValue]
  block_size: c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[3]]
  tess_coord: c.POINTER[struct_LLVMOpaqueValue]
  tess_outer: c.POINTER[struct_LLVMOpaqueValue]
  tess_inner: c.POINTER[struct_LLVMOpaqueValue]
  vertices_in: c.POINTER[struct_LLVMOpaqueValue]
  sample_id: c.POINTER[struct_LLVMOpaqueValue]
  sample_pos_type: c.POINTER[struct_LLVMOpaqueType]
  sample_pos: c.POINTER[struct_LLVMOpaqueValue]
  sample_mask_in: c.POINTER[struct_LLVMOpaqueValue]
  view_index: c.POINTER[struct_LLVMOpaqueValue]
  subgroup_id: c.POINTER[struct_LLVMOpaqueValue]
  num_subgroups: c.POINTER[struct_LLVMOpaqueValue]
struct_lp_bld_tgsi_system_values.register_fields([('instance_id', LLVMValueRef, 0), ('base_instance', LLVMValueRef, 8), ('vertex_id', LLVMValueRef, 16), ('vertex_id_nobase', LLVMValueRef, 24), ('prim_id', LLVMValueRef, 32), ('basevertex', LLVMValueRef, 40), ('firstvertex', LLVMValueRef, 48), ('invocation_id', LLVMValueRef, 56), ('draw_id', LLVMValueRef, 64), ('thread_id', c.Array[LLVMValueRef, Literal[3]], 72), ('block_id', c.Array[LLVMValueRef, Literal[3]], 96), ('grid_size', c.Array[LLVMValueRef, Literal[3]], 120), ('front_facing', LLVMValueRef, 144), ('work_dim', LLVMValueRef, 152), ('block_size', c.Array[LLVMValueRef, Literal[3]], 160), ('tess_coord', LLVMValueRef, 184), ('tess_outer', LLVMValueRef, 192), ('tess_inner', LLVMValueRef, 200), ('vertices_in', LLVMValueRef, 208), ('sample_id', LLVMValueRef, 216), ('sample_pos_type', LLVMTypeRef, 224), ('sample_pos', LLVMValueRef, 232), ('sample_mask_in', LLVMValueRef, 240), ('view_index', LLVMValueRef, 248), ('subgroup_id', LLVMValueRef, 256), ('num_subgroups', LLVMValueRef, 264)])
@c.record
class struct_lp_build_sampler_soa(c.Struct):
  SIZE = 16
  emit_tex_sample: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_sampler_soa], c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_sampler_params]]]
  emit_size_query: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_sampler_soa], c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_sampler_size_query_params]]]
@c.record
class struct_lp_sampler_params(c.Struct):
  SIZE = 152
  type: struct_lp_type
  texture_index: int
  sampler_index: int
  texture_index_offset: c.POINTER[struct_LLVMOpaqueValue]
  sample_key: int
  resources_type: c.POINTER[struct_LLVMOpaqueType]
  resources_ptr: c.POINTER[struct_LLVMOpaqueValue]
  thread_data_type: c.POINTER[struct_LLVMOpaqueType]
  thread_data_ptr: c.POINTER[struct_LLVMOpaqueValue]
  coords: c.POINTER[c.POINTER[struct_LLVMOpaqueValue]]
  offsets: c.POINTER[c.POINTER[struct_LLVMOpaqueValue]]
  ms_index: c.POINTER[struct_LLVMOpaqueValue]
  lod: c.POINTER[struct_LLVMOpaqueValue]
  min_lod: c.POINTER[struct_LLVMOpaqueValue]
  derivs: c.POINTER[struct_lp_derivatives]
  texel: c.POINTER[c.POINTER[struct_LLVMOpaqueValue]]
  texture_resource: c.POINTER[struct_LLVMOpaqueValue]
  sampler_resource: c.POINTER[struct_LLVMOpaqueValue]
  exec_mask: c.POINTER[struct_LLVMOpaqueValue]
  exec_mask_nz: bool
@c.record
class struct_lp_derivatives(c.Struct):
  SIZE = 48
  ddx: c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[3]]
  ddy: c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[3]]
struct_lp_derivatives.register_fields([('ddx', c.Array[LLVMValueRef, Literal[3]], 0), ('ddy', c.Array[LLVMValueRef, Literal[3]], 24)])
struct_lp_sampler_params.register_fields([('type', struct_lp_type, 0), ('texture_index', ctypes.c_uint32, 8), ('sampler_index', ctypes.c_uint32, 12), ('texture_index_offset', LLVMValueRef, 16), ('sample_key', ctypes.c_uint32, 24), ('resources_type', LLVMTypeRef, 32), ('resources_ptr', LLVMValueRef, 40), ('thread_data_type', LLVMTypeRef, 48), ('thread_data_ptr', LLVMValueRef, 56), ('coords', c.POINTER[LLVMValueRef], 64), ('offsets', c.POINTER[LLVMValueRef], 72), ('ms_index', LLVMValueRef, 80), ('lod', LLVMValueRef, 88), ('min_lod', LLVMValueRef, 96), ('derivs', c.POINTER[struct_lp_derivatives], 104), ('texel', c.POINTER[LLVMValueRef], 112), ('texture_resource', LLVMValueRef, 120), ('sampler_resource', LLVMValueRef, 128), ('exec_mask', LLVMValueRef, 136), ('exec_mask_nz', ctypes.c_bool, 144)])
@c.record
class struct_lp_sampler_size_query_params(c.Struct):
  SIZE = 96
  int_type: struct_lp_type
  texture_unit: int
  texture_unit_offset: c.POINTER[struct_LLVMOpaqueValue]
  target: int
  resources_type: c.POINTER[struct_LLVMOpaqueType]
  resources_ptr: c.POINTER[struct_LLVMOpaqueValue]
  is_sviewinfo: bool
  samples_only: bool
  ms: bool
  lod_property: int
  explicit_lod: c.POINTER[struct_LLVMOpaqueValue]
  sizes_out: c.POINTER[c.POINTER[struct_LLVMOpaqueValue]]
  resource: c.POINTER[struct_LLVMOpaqueValue]
  exec_mask: c.POINTER[struct_LLVMOpaqueValue]
  exec_mask_nz: bool
  format: int
enum_lp_sampler_lod_property: dict[int, str] = {(LP_SAMPLER_LOD_SCALAR:=0): 'LP_SAMPLER_LOD_SCALAR', (LP_SAMPLER_LOD_PER_ELEMENT:=1): 'LP_SAMPLER_LOD_PER_ELEMENT', (LP_SAMPLER_LOD_PER_QUAD:=2): 'LP_SAMPLER_LOD_PER_QUAD'}
struct_lp_sampler_size_query_params.register_fields([('int_type', struct_lp_type, 0), ('texture_unit', ctypes.c_uint32, 8), ('texture_unit_offset', LLVMValueRef, 16), ('target', ctypes.c_uint32, 24), ('resources_type', LLVMTypeRef, 32), ('resources_ptr', LLVMValueRef, 40), ('is_sviewinfo', ctypes.c_bool, 48), ('samples_only', ctypes.c_bool, 49), ('ms', ctypes.c_bool, 50), ('lod_property', ctypes.c_uint32, 52), ('explicit_lod', LLVMValueRef, 56), ('sizes_out', c.POINTER[LLVMValueRef], 64), ('resource', LLVMValueRef, 72), ('exec_mask', LLVMValueRef, 80), ('exec_mask_nz', ctypes.c_bool, 88), ('format', ctypes.c_uint32, 92)])
struct_lp_build_sampler_soa.register_fields([('emit_tex_sample', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_sampler_soa], c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_sampler_params]]], 0), ('emit_size_query', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_sampler_soa], c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_sampler_size_query_params]]], 8)])
@c.record
class struct_tgsi_shader_info(c.Struct):
  SIZE = 2744
  num_inputs: int
  num_outputs: int
  input_semantic_name: c.Array[ctypes.c_ubyte, Literal[80]]
  input_semantic_index: c.Array[ctypes.c_ubyte, Literal[80]]
  input_interpolate: c.Array[ctypes.c_ubyte, Literal[80]]
  input_interpolate_loc: c.Array[ctypes.c_ubyte, Literal[80]]
  input_usage_mask: c.Array[ctypes.c_ubyte, Literal[80]]
  output_semantic_name: c.Array[ctypes.c_ubyte, Literal[80]]
  output_semantic_index: c.Array[ctypes.c_ubyte, Literal[80]]
  output_usagemask: c.Array[ctypes.c_ubyte, Literal[80]]
  output_streams: c.Array[ctypes.c_ubyte, Literal[80]]
  num_system_values: int
  system_value_semantic_name: c.Array[ctypes.c_ubyte, Literal[80]]
  processor: int
  file_mask: c.Array[ctypes.c_uint32, Literal[15]]
  file_count: c.Array[ctypes.c_uint32, Literal[15]]
  file_max: c.Array[ctypes.c_int32, Literal[15]]
  const_file_max: c.Array[ctypes.c_int32, Literal[32]]
  const_buffers_declared: int
  samplers_declared: int
  sampler_targets: c.Array[ctypes.c_ubyte, Literal[128]]
  sampler_type: c.Array[ctypes.c_ubyte, Literal[128]]
  num_stream_output_components: c.Array[ctypes.c_ubyte, Literal[4]]
  input_array_first: c.Array[ctypes.c_ubyte, Literal[80]]
  output_array_first: c.Array[ctypes.c_ubyte, Literal[80]]
  immediate_count: int
  num_instructions: int
  opcode_count: c.Array[ctypes.c_uint32, Literal[252]]
  reads_pervertex_outputs: bool
  reads_perpatch_outputs: bool
  reads_tessfactor_outputs: bool
  reads_z: bool
  writes_z: bool
  writes_stencil: bool
  writes_samplemask: bool
  writes_edgeflag: bool
  uses_kill: bool
  uses_instanceid: bool
  uses_vertexid: bool
  uses_vertexid_nobase: bool
  uses_basevertex: bool
  uses_primid: bool
  uses_frontface: bool
  uses_invocationid: bool
  uses_grid_size: bool
  writes_position: bool
  writes_psize: bool
  writes_clipvertex: bool
  writes_viewport_index: bool
  writes_layer: bool
  writes_memory: bool
  uses_fbfetch: bool
  num_written_culldistance: int
  num_written_clipdistance: int
  images_declared: int
  msaa_images_declared: int
  images_buffers: int
  shader_buffers_declared: int
  shader_buffers_load: int
  shader_buffers_store: int
  shader_buffers_atomic: int
  hw_atomic_declared: int
  indirect_files: int
  dim_indirect_files: int
  properties: c.Array[ctypes.c_uint32, Literal[29]]
struct_tgsi_shader_info.register_fields([('num_inputs', uint8_t, 0), ('num_outputs', uint8_t, 1), ('input_semantic_name', c.Array[uint8_t, Literal[80]], 2), ('input_semantic_index', c.Array[uint8_t, Literal[80]], 82), ('input_interpolate', c.Array[uint8_t, Literal[80]], 162), ('input_interpolate_loc', c.Array[uint8_t, Literal[80]], 242), ('input_usage_mask', c.Array[uint8_t, Literal[80]], 322), ('output_semantic_name', c.Array[uint8_t, Literal[80]], 402), ('output_semantic_index', c.Array[uint8_t, Literal[80]], 482), ('output_usagemask', c.Array[uint8_t, Literal[80]], 562), ('output_streams', c.Array[uint8_t, Literal[80]], 642), ('num_system_values', uint8_t, 722), ('system_value_semantic_name', c.Array[uint8_t, Literal[80]], 723), ('processor', uint8_t, 803), ('file_mask', c.Array[uint32_t, Literal[15]], 804), ('file_count', c.Array[ctypes.c_uint32, Literal[15]], 864), ('file_max', c.Array[ctypes.c_int32, Literal[15]], 924), ('const_file_max', c.Array[ctypes.c_int32, Literal[32]], 984), ('const_buffers_declared', ctypes.c_uint32, 1112), ('samplers_declared', ctypes.c_uint32, 1116), ('sampler_targets', c.Array[uint8_t, Literal[128]], 1120), ('sampler_type', c.Array[uint8_t, Literal[128]], 1248), ('num_stream_output_components', c.Array[uint8_t, Literal[4]], 1376), ('input_array_first', c.Array[uint8_t, Literal[80]], 1380), ('output_array_first', c.Array[uint8_t, Literal[80]], 1460), ('immediate_count', ctypes.c_uint32, 1540), ('num_instructions', ctypes.c_uint32, 1544), ('opcode_count', c.Array[ctypes.c_uint32, Literal[252]], 1548), ('reads_pervertex_outputs', ctypes.c_bool, 2556), ('reads_perpatch_outputs', ctypes.c_bool, 2557), ('reads_tessfactor_outputs', ctypes.c_bool, 2558), ('reads_z', ctypes.c_bool, 2559), ('writes_z', ctypes.c_bool, 2560), ('writes_stencil', ctypes.c_bool, 2561), ('writes_samplemask', ctypes.c_bool, 2562), ('writes_edgeflag', ctypes.c_bool, 2563), ('uses_kill', ctypes.c_bool, 2564), ('uses_instanceid', ctypes.c_bool, 2565), ('uses_vertexid', ctypes.c_bool, 2566), ('uses_vertexid_nobase', ctypes.c_bool, 2567), ('uses_basevertex', ctypes.c_bool, 2568), ('uses_primid', ctypes.c_bool, 2569), ('uses_frontface', ctypes.c_bool, 2570), ('uses_invocationid', ctypes.c_bool, 2571), ('uses_grid_size', ctypes.c_bool, 2572), ('writes_position', ctypes.c_bool, 2573), ('writes_psize', ctypes.c_bool, 2574), ('writes_clipvertex', ctypes.c_bool, 2575), ('writes_viewport_index', ctypes.c_bool, 2576), ('writes_layer', ctypes.c_bool, 2577), ('writes_memory', ctypes.c_bool, 2578), ('uses_fbfetch', ctypes.c_bool, 2579), ('num_written_culldistance', ctypes.c_uint32, 2580), ('num_written_clipdistance', ctypes.c_uint32, 2584), ('images_declared', ctypes.c_uint32, 2588), ('msaa_images_declared', ctypes.c_uint32, 2592), ('images_buffers', ctypes.c_uint32, 2596), ('shader_buffers_declared', ctypes.c_uint32, 2600), ('shader_buffers_load', ctypes.c_uint32, 2604), ('shader_buffers_store', ctypes.c_uint32, 2608), ('shader_buffers_atomic', ctypes.c_uint32, 2612), ('hw_atomic_declared', ctypes.c_uint32, 2616), ('indirect_files', ctypes.c_uint32, 2620), ('dim_indirect_files', ctypes.c_uint32, 2624), ('properties', c.Array[ctypes.c_uint32, Literal[29]], 2628)])
@c.record
class struct_lp_build_gs_iface(c.Struct):
  SIZE = 32
  fetch_input: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_lp_build_gs_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue]]]
  emit_vertex: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_gs_iface], c.POINTER[struct_lp_build_context], c.POINTER[c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[4]]], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue]]]
  end_primitive: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_gs_iface], c.POINTER[struct_lp_build_context], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32]]
  gs_epilogue: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_gs_iface], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32]]
struct_lp_build_gs_iface.register_fields([('fetch_input', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_lp_build_gs_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, LLVMValueRef]], 0), ('emit_vertex', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_gs_iface], c.POINTER[struct_lp_build_context], c.POINTER[c.Array[LLVMValueRef, Literal[4]]], LLVMValueRef, LLVMValueRef, LLVMValueRef]], 8), ('end_primitive', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_gs_iface], c.POINTER[struct_lp_build_context], LLVMValueRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, ctypes.c_uint32]], 16), ('gs_epilogue', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_gs_iface], LLVMValueRef, LLVMValueRef, ctypes.c_uint32]], 24)])
@c.record
class struct_lp_build_tcs_iface(c.Struct):
  SIZE = 48
  emit_prologue: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_context]]]
  emit_epilogue: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_context]]]
  emit_barrier: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_context]]]
  emit_store_output: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_tcs_iface], c.POINTER[struct_lp_build_context], ctypes.c_uint32, ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue]]]
  emit_fetch_input: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_lp_build_tcs_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue]]]
  emit_fetch_output: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_lp_build_tcs_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32]]
struct_lp_build_tcs_iface.register_fields([('emit_prologue', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_context]]], 0), ('emit_epilogue', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_context]]], 8), ('emit_barrier', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_context]]], 16), ('emit_store_output', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_tcs_iface], c.POINTER[struct_lp_build_context], ctypes.c_uint32, ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, LLVMValueRef, LLVMValueRef]], 24), ('emit_fetch_input', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_lp_build_tcs_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef]], 32), ('emit_fetch_output', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_lp_build_tcs_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, uint32_t]], 40)])
@c.record
class struct_lp_build_tes_iface(c.Struct):
  SIZE = 16
  fetch_vertex_input: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_lp_build_tes_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue]]]
  fetch_patch_input: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_lp_build_tes_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue]]]
struct_lp_build_tes_iface.register_fields([('fetch_vertex_input', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_lp_build_tes_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef]], 0), ('fetch_patch_input', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_lp_build_tes_iface], c.POINTER[struct_lp_build_context], ctypes.c_bool, LLVMValueRef, LLVMValueRef]], 8)])
@c.record
class struct_lp_build_mesh_iface(c.Struct):
  SIZE = 16
  emit_store_output: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_mesh_iface], c.POINTER[struct_lp_build_context], ctypes.c_uint32, ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue]]]
  emit_vertex_and_primitive_count: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_mesh_iface], c.POINTER[struct_lp_build_context], c.POINTER[struct_LLVMOpaqueValue], c.POINTER[struct_LLVMOpaqueValue]]]
struct_lp_build_mesh_iface.register_fields([('emit_store_output', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_mesh_iface], c.POINTER[struct_lp_build_context], ctypes.c_uint32, ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, ctypes.c_bool, LLVMValueRef, LLVMValueRef, LLVMValueRef]], 0), ('emit_vertex_and_primitive_count', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_mesh_iface], c.POINTER[struct_lp_build_context], LLVMValueRef, LLVMValueRef]], 8)])
@c.record
class struct_lp_build_image_soa(c.Struct):
  SIZE = 16
  emit_op: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_image_soa], c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_img_params]]]
  emit_size_query: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_image_soa], c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_sampler_size_query_params]]]
@c.record
class struct_lp_img_params(c.Struct):
  SIZE = 192
  type: struct_lp_type
  image_index: int
  image_index_offset: c.POINTER[struct_LLVMOpaqueValue]
  img_op: int
  target: int
  packed_op: int
  op: int
  exec_mask: c.POINTER[struct_LLVMOpaqueValue]
  exec_mask_nz: bool
  resources_type: c.POINTER[struct_LLVMOpaqueType]
  resources_ptr: c.POINTER[struct_LLVMOpaqueValue]
  thread_data_type: c.POINTER[struct_LLVMOpaqueType]
  thread_data_ptr: c.POINTER[struct_LLVMOpaqueValue]
  coords: c.POINTER[c.POINTER[struct_LLVMOpaqueValue]]
  ms_index: c.POINTER[struct_LLVMOpaqueValue]
  indata: c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[4]]
  indata2: c.Array[c.POINTER[struct_LLVMOpaqueValue], Literal[4]]
  outdata: c.POINTER[c.POINTER[struct_LLVMOpaqueValue]]
  resource: c.POINTER[struct_LLVMOpaqueValue]
  format: int
LLVMAtomicRMWBinOp: dict[int, str] = {(LLVMAtomicRMWBinOpXchg:=0): 'LLVMAtomicRMWBinOpXchg', (LLVMAtomicRMWBinOpAdd:=1): 'LLVMAtomicRMWBinOpAdd', (LLVMAtomicRMWBinOpSub:=2): 'LLVMAtomicRMWBinOpSub', (LLVMAtomicRMWBinOpAnd:=3): 'LLVMAtomicRMWBinOpAnd', (LLVMAtomicRMWBinOpNand:=4): 'LLVMAtomicRMWBinOpNand', (LLVMAtomicRMWBinOpOr:=5): 'LLVMAtomicRMWBinOpOr', (LLVMAtomicRMWBinOpXor:=6): 'LLVMAtomicRMWBinOpXor', (LLVMAtomicRMWBinOpMax:=7): 'LLVMAtomicRMWBinOpMax', (LLVMAtomicRMWBinOpMin:=8): 'LLVMAtomicRMWBinOpMin', (LLVMAtomicRMWBinOpUMax:=9): 'LLVMAtomicRMWBinOpUMax', (LLVMAtomicRMWBinOpUMin:=10): 'LLVMAtomicRMWBinOpUMin', (LLVMAtomicRMWBinOpFAdd:=11): 'LLVMAtomicRMWBinOpFAdd', (LLVMAtomicRMWBinOpFSub:=12): 'LLVMAtomicRMWBinOpFSub', (LLVMAtomicRMWBinOpFMax:=13): 'LLVMAtomicRMWBinOpFMax', (LLVMAtomicRMWBinOpFMin:=14): 'LLVMAtomicRMWBinOpFMin', (LLVMAtomicRMWBinOpUIncWrap:=15): 'LLVMAtomicRMWBinOpUIncWrap', (LLVMAtomicRMWBinOpUDecWrap:=16): 'LLVMAtomicRMWBinOpUDecWrap', (LLVMAtomicRMWBinOpUSubCond:=17): 'LLVMAtomicRMWBinOpUSubCond', (LLVMAtomicRMWBinOpUSubSat:=18): 'LLVMAtomicRMWBinOpUSubSat'}
struct_lp_img_params.register_fields([('type', struct_lp_type, 0), ('image_index', ctypes.c_uint32, 8), ('image_index_offset', LLVMValueRef, 16), ('img_op', ctypes.c_uint32, 24), ('target', ctypes.c_uint32, 28), ('packed_op', ctypes.c_uint32, 32), ('op', ctypes.c_uint32, 36), ('exec_mask', LLVMValueRef, 40), ('exec_mask_nz', ctypes.c_bool, 48), ('resources_type', LLVMTypeRef, 56), ('resources_ptr', LLVMValueRef, 64), ('thread_data_type', LLVMTypeRef, 72), ('thread_data_ptr', LLVMValueRef, 80), ('coords', c.POINTER[LLVMValueRef], 88), ('ms_index', LLVMValueRef, 96), ('indata', c.Array[LLVMValueRef, Literal[4]], 104), ('indata2', c.Array[LLVMValueRef, Literal[4]], 136), ('outdata', c.POINTER[LLVMValueRef], 168), ('resource', LLVMValueRef, 176), ('format', ctypes.c_uint32, 184)])
struct_lp_build_image_soa.register_fields([('emit_op', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_image_soa], c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_img_params]]], 0), ('emit_size_query', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_image_soa], c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_sampler_size_query_params]]], 8)])
class struct_lp_build_coro_suspend_info(c.Struct): pass
@c.record
class struct_lp_build_fs_iface(c.Struct):
  SIZE = 16
  interp_fn: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_lp_build_fs_iface], c.POINTER[struct_lp_build_context], ctypes.c_uint32, ctypes.c_uint32, ctypes.c_bool, ctypes.c_bool, c.POINTER[struct_LLVMOpaqueValue], c.POINTER[c.POINTER[struct_LLVMOpaqueValue]]]]
  fb_fetch: c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_fs_iface], c.POINTER[struct_lp_build_context], ctypes.c_int32, c.POINTER[c.POINTER[struct_LLVMOpaqueValue]]]]
struct_lp_build_fs_iface.register_fields([('interp_fn', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_lp_build_fs_iface], c.POINTER[struct_lp_build_context], ctypes.c_uint32, ctypes.c_uint32, ctypes.c_bool, ctypes.c_bool, LLVMValueRef, c.Array[LLVMValueRef, Literal[2]]]], 0), ('fb_fetch', c.CFUNCTYPE[None, [c.POINTER[struct_lp_build_fs_iface], c.POINTER[struct_lp_build_context], ctypes.c_int32, c.Array[LLVMValueRef, Literal[4]]]], 8)])
struct_lp_build_tgsi_params.register_fields([('type', struct_lp_type, 0), ('mask', c.POINTER[struct_lp_build_mask_context], 8), ('consts_ptr', LLVMValueRef, 16), ('const_sizes_ptr', LLVMValueRef, 24), ('system_values', c.POINTER[struct_lp_bld_tgsi_system_values], 32), ('inputs', c.POINTER[c.Array[LLVMValueRef, Literal[4]]], 40), ('num_inputs', ctypes.c_int32, 48), ('context_type', LLVMTypeRef, 56), ('context_ptr', LLVMValueRef, 64), ('resources_type', LLVMTypeRef, 72), ('resources_ptr', LLVMValueRef, 80), ('thread_data_type', LLVMTypeRef, 88), ('thread_data_ptr', LLVMValueRef, 96), ('sampler', c.POINTER[struct_lp_build_sampler_soa], 104), ('info', c.POINTER[struct_tgsi_shader_info], 112), ('gs_iface', c.POINTER[struct_lp_build_gs_iface], 120), ('tcs_iface', c.POINTER[struct_lp_build_tcs_iface], 128), ('tes_iface', c.POINTER[struct_lp_build_tes_iface], 136), ('mesh_iface', c.POINTER[struct_lp_build_mesh_iface], 144), ('ssbo_ptr', LLVMValueRef, 152), ('ssbo_sizes_ptr', LLVMValueRef, 160), ('image', c.POINTER[struct_lp_build_image_soa], 168), ('shared_ptr', LLVMValueRef, 176), ('payload_ptr', LLVMValueRef, 184), ('coro', c.POINTER[struct_lp_build_coro_suspend_info], 192), ('fs_iface', c.POINTER[struct_lp_build_fs_iface], 200), ('gs_vertex_streams', ctypes.c_uint32, 208), ('current_func', LLVMValueRef, 216), ('fns', c.POINTER[struct_hash_table], 224), ('scratch_ptr', LLVMValueRef, 232), ('call_context_ptr', LLVMValueRef, 240)])
@dll.bind(None, c.POINTER[struct_gallivm_state], c.POINTER[struct_nir_shader], c.POINTER[struct_lp_build_tgsi_params], c.POINTER[c.Array[LLVMValueRef, Literal[4]]])
def lp_build_nir_soa(gallivm:c.POINTER[struct_gallivm_state], shader:c.POINTER[struct_nir_shader], params:c.POINTER[struct_lp_build_tgsi_params], outputs:c.POINTER[c.Array[LLVMValueRef, Literal[4]]]) -> None: ...
@dll.bind(None, c.POINTER[struct_gallivm_state], c.POINTER[struct_nir_shader], c.POINTER[nir_function_impl], c.POINTER[struct_lp_build_tgsi_params], c.POINTER[c.Array[LLVMValueRef, Literal[4]]])
def lp_build_nir_soa_func(gallivm:c.POINTER[struct_gallivm_state], shader:c.POINTER[struct_nir_shader], impl:c.POINTER[nir_function_impl], params:c.POINTER[struct_lp_build_tgsi_params], outputs:c.POINTER[c.Array[LLVMValueRef, Literal[4]]]) -> None: ...
@c.record
class struct_lp_build_sampler_aos(c.Struct):
  SIZE = 8
  emit_fetch_texel: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_lp_build_sampler_aos], c.POINTER[struct_lp_build_context], ctypes.c_uint32, ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue], struct_lp_derivatives, ctypes.c_uint32]]
enum_tgsi_texture_type: dict[int, str] = {(TGSI_TEXTURE_BUFFER:=0): 'TGSI_TEXTURE_BUFFER', (TGSI_TEXTURE_1D:=1): 'TGSI_TEXTURE_1D', (TGSI_TEXTURE_2D:=2): 'TGSI_TEXTURE_2D', (TGSI_TEXTURE_3D:=3): 'TGSI_TEXTURE_3D', (TGSI_TEXTURE_CUBE:=4): 'TGSI_TEXTURE_CUBE', (TGSI_TEXTURE_RECT:=5): 'TGSI_TEXTURE_RECT', (TGSI_TEXTURE_SHADOW1D:=6): 'TGSI_TEXTURE_SHADOW1D', (TGSI_TEXTURE_SHADOW2D:=7): 'TGSI_TEXTURE_SHADOW2D', (TGSI_TEXTURE_SHADOWRECT:=8): 'TGSI_TEXTURE_SHADOWRECT', (TGSI_TEXTURE_1D_ARRAY:=9): 'TGSI_TEXTURE_1D_ARRAY', (TGSI_TEXTURE_2D_ARRAY:=10): 'TGSI_TEXTURE_2D_ARRAY', (TGSI_TEXTURE_SHADOW1D_ARRAY:=11): 'TGSI_TEXTURE_SHADOW1D_ARRAY', (TGSI_TEXTURE_SHADOW2D_ARRAY:=12): 'TGSI_TEXTURE_SHADOW2D_ARRAY', (TGSI_TEXTURE_SHADOWCUBE:=13): 'TGSI_TEXTURE_SHADOWCUBE', (TGSI_TEXTURE_2D_MSAA:=14): 'TGSI_TEXTURE_2D_MSAA', (TGSI_TEXTURE_2D_ARRAY_MSAA:=15): 'TGSI_TEXTURE_2D_ARRAY_MSAA', (TGSI_TEXTURE_CUBE_ARRAY:=16): 'TGSI_TEXTURE_CUBE_ARRAY', (TGSI_TEXTURE_SHADOWCUBE_ARRAY:=17): 'TGSI_TEXTURE_SHADOWCUBE_ARRAY', (TGSI_TEXTURE_UNKNOWN:=18): 'TGSI_TEXTURE_UNKNOWN', (TGSI_TEXTURE_COUNT:=19): 'TGSI_TEXTURE_COUNT'}
enum_lp_build_tex_modifier: dict[int, str] = {(LP_BLD_TEX_MODIFIER_NONE:=0): 'LP_BLD_TEX_MODIFIER_NONE', (LP_BLD_TEX_MODIFIER_PROJECTED:=1): 'LP_BLD_TEX_MODIFIER_PROJECTED', (LP_BLD_TEX_MODIFIER_LOD_BIAS:=2): 'LP_BLD_TEX_MODIFIER_LOD_BIAS', (LP_BLD_TEX_MODIFIER_EXPLICIT_LOD:=3): 'LP_BLD_TEX_MODIFIER_EXPLICIT_LOD', (LP_BLD_TEX_MODIFIER_EXPLICIT_DERIV:=4): 'LP_BLD_TEX_MODIFIER_EXPLICIT_DERIV', (LP_BLD_TEX_MODIFIER_LOD_ZERO:=5): 'LP_BLD_TEX_MODIFIER_LOD_ZERO'}
struct_lp_build_sampler_aos.register_fields([('emit_fetch_texel', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_lp_build_sampler_aos], c.POINTER[struct_lp_build_context], ctypes.c_uint32, ctypes.c_uint32, LLVMValueRef, struct_lp_derivatives, ctypes.c_uint32]], 0)])
@dll.bind(None, c.POINTER[struct_gallivm_state], c.POINTER[struct_nir_shader], struct_lp_type, c.Array[ctypes.c_ubyte, Literal[4]], LLVMValueRef, c.POINTER[LLVMValueRef], c.POINTER[LLVMValueRef], c.POINTER[struct_lp_build_sampler_aos])
def lp_build_nir_aos(gallivm:c.POINTER[struct_gallivm_state], shader:c.POINTER[struct_nir_shader], type:struct_lp_type, swizzles:c.Array[ctypes.c_ubyte, Literal[4]], consts_ptr:LLVMValueRef, inputs:c.POINTER[LLVMValueRef], outputs:c.POINTER[LLVMValueRef], sampler:c.POINTER[struct_lp_build_sampler_aos]) -> None: ...
@c.record
class struct_lp_build_fn(c.Struct):
  SIZE = 16
  fn_type: c.POINTER[struct_LLVMOpaqueType]
  fn: c.POINTER[struct_LLVMOpaqueValue]
struct_lp_build_fn.register_fields([('fn_type', LLVMTypeRef, 0), ('fn', LLVMValueRef, 8)])
@dll.bind(None, c.POINTER[struct_nir_shader])
def lp_build_nir_soa_prepasses(nir:c.POINTER[struct_nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[struct_nir_shader])
def lp_build_opt_nir(nir:c.POINTER[struct_nir_shader]) -> None: ...
@dll.bind(ctypes.c_uint32, ctypes.c_uint32)
def lp_translate_atomic_op(op:ctypes.c_uint32) -> ctypes.c_uint32: ...
@dll.bind(uint32_t, gl_shader_stage, c.POINTER[nir_tex_instr])
def lp_build_nir_sample_key(stage:gl_shader_stage, instr:c.POINTER[nir_tex_instr]) -> uint32_t: ...
@dll.bind(None, c.POINTER[struct_lp_img_params], c.POINTER[nir_intrinsic_instr])
def lp_img_op_from_intrinsic(params:c.POINTER[struct_lp_img_params], instr:c.POINTER[nir_intrinsic_instr]) -> None: ...
@dll.bind(uint32_t, c.POINTER[nir_intrinsic_instr])
def lp_packed_img_op_from_intrinsic(instr:c.POINTER[nir_intrinsic_instr]) -> uint32_t: ...
enum_lp_nir_call_context_args: dict[int, str] = {(LP_NIR_CALL_CONTEXT_CONTEXT:=0): 'LP_NIR_CALL_CONTEXT_CONTEXT', (LP_NIR_CALL_CONTEXT_RESOURCES:=1): 'LP_NIR_CALL_CONTEXT_RESOURCES', (LP_NIR_CALL_CONTEXT_SHARED:=2): 'LP_NIR_CALL_CONTEXT_SHARED', (LP_NIR_CALL_CONTEXT_SCRATCH:=3): 'LP_NIR_CALL_CONTEXT_SCRATCH', (LP_NIR_CALL_CONTEXT_WORK_DIM:=4): 'LP_NIR_CALL_CONTEXT_WORK_DIM', (LP_NIR_CALL_CONTEXT_THREAD_ID_0:=5): 'LP_NIR_CALL_CONTEXT_THREAD_ID_0', (LP_NIR_CALL_CONTEXT_THREAD_ID_1:=6): 'LP_NIR_CALL_CONTEXT_THREAD_ID_1', (LP_NIR_CALL_CONTEXT_THREAD_ID_2:=7): 'LP_NIR_CALL_CONTEXT_THREAD_ID_2', (LP_NIR_CALL_CONTEXT_BLOCK_ID_0:=8): 'LP_NIR_CALL_CONTEXT_BLOCK_ID_0', (LP_NIR_CALL_CONTEXT_BLOCK_ID_1:=9): 'LP_NIR_CALL_CONTEXT_BLOCK_ID_1', (LP_NIR_CALL_CONTEXT_BLOCK_ID_2:=10): 'LP_NIR_CALL_CONTEXT_BLOCK_ID_2', (LP_NIR_CALL_CONTEXT_GRID_SIZE_0:=11): 'LP_NIR_CALL_CONTEXT_GRID_SIZE_0', (LP_NIR_CALL_CONTEXT_GRID_SIZE_1:=12): 'LP_NIR_CALL_CONTEXT_GRID_SIZE_1', (LP_NIR_CALL_CONTEXT_GRID_SIZE_2:=13): 'LP_NIR_CALL_CONTEXT_GRID_SIZE_2', (LP_NIR_CALL_CONTEXT_BLOCK_SIZE_0:=14): 'LP_NIR_CALL_CONTEXT_BLOCK_SIZE_0', (LP_NIR_CALL_CONTEXT_BLOCK_SIZE_1:=15): 'LP_NIR_CALL_CONTEXT_BLOCK_SIZE_1', (LP_NIR_CALL_CONTEXT_BLOCK_SIZE_2:=16): 'LP_NIR_CALL_CONTEXT_BLOCK_SIZE_2', (LP_NIR_CALL_CONTEXT_MAX_ARGS:=17): 'LP_NIR_CALL_CONTEXT_MAX_ARGS'}
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], ctypes.c_int32, LLVMTypeRef, LLVMTypeRef)
def lp_build_cs_func_call_context(gallivm:c.POINTER[struct_gallivm_state], length:int, context_type:LLVMTypeRef, resources_type:LLVMTypeRef) -> LLVMTypeRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def lp_build_struct_get_ptr2(gallivm:c.POINTER[struct_gallivm_state], ptr_type:LLVMTypeRef, ptr:LLVMValueRef, member:int, name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, c.POINTER[ctypes.c_char])
def lp_build_struct_get2(gallivm:c.POINTER[struct_gallivm_state], ptr_type:LLVMTypeRef, ptr:LLVMValueRef, member:int, name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, LLVMValueRef)
def lp_build_array_get_ptr2(gallivm:c.POINTER[struct_gallivm_state], array_type:LLVMTypeRef, ptr:LLVMValueRef, index:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, LLVMValueRef)
def lp_build_array_get2(gallivm:c.POINTER[struct_gallivm_state], array_type:LLVMTypeRef, ptr:LLVMValueRef, index:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, LLVMValueRef)
def lp_build_pointer_get2(builder:LLVMBuilderRef, ptr_type:LLVMTypeRef, ptr:LLVMValueRef, index:LLVMValueRef) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def lp_build_pointer_get_unaligned2(builder:LLVMBuilderRef, ptr_type:LLVMTypeRef, ptr:LLVMValueRef, index:LLVMValueRef, alignment:int) -> LLVMValueRef: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, LLVMValueRef)
def lp_build_pointer_set(builder:LLVMBuilderRef, ptr:LLVMValueRef, index:LLVMValueRef, value:LLVMValueRef) -> None: ...
@dll.bind(None, LLVMBuilderRef, LLVMValueRef, LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def lp_build_pointer_set_unaligned(builder:LLVMBuilderRef, ptr:LLVMValueRef, index:LLVMValueRef, value:LLVMValueRef, alignment:int) -> None: ...
@c.record
class struct_lp_sampler_dynamic_state(c.Struct):
  SIZE = 144
  width: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  height: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  depth: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  first_level: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  last_level: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  row_stride: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue], c.POINTER[c.POINTER[struct_LLVMOpaqueType]]]]
  img_stride: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue], c.POINTER[c.POINTER[struct_LLVMOpaqueType]]]]
  base_ptr: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  mip_offsets: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue], c.POINTER[c.POINTER[struct_LLVMOpaqueType]]]]
  num_samples: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  sample_stride: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  min_lod: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32]]
  max_lod: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32]]
  lod_bias: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32]]
  border_color: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32]]
  cache_ptr: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32]]
  residency: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
  base_offset: c.CFUNCTYPE[c.POINTER[struct_LLVMOpaqueValue], [c.POINTER[struct_gallivm_state], c.POINTER[struct_LLVMOpaqueType], c.POINTER[struct_LLVMOpaqueValue], ctypes.c_uint32, c.POINTER[struct_LLVMOpaqueValue]]]
struct_lp_sampler_dynamic_state.register_fields([('width', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 0), ('height', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 8), ('depth', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 16), ('first_level', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 24), ('last_level', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 32), ('row_stride', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef, c.POINTER[LLVMTypeRef]]], 40), ('img_stride', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef, c.POINTER[LLVMTypeRef]]], 48), ('base_ptr', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 56), ('mip_offsets', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef, c.POINTER[LLVMTypeRef]]], 64), ('num_samples', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 72), ('sample_stride', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 80), ('min_lod', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32]], 88), ('max_lod', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32]], 96), ('lod_bias', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32]], 104), ('border_color', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32]], 112), ('cache_ptr', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32]], 120), ('residency', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 128), ('base_offset', c.CFUNCTYPE[LLVMValueRef, [c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, ctypes.c_uint32, LLVMValueRef]], 136)])
@c.record
class struct_lp_jit_buffer(c.Struct):
  SIZE = 16
  u: c.POINTER[ctypes.c_uint32]
  f: c.POINTER[ctypes.c_float]
  num_elements: int
struct_lp_jit_buffer.register_fields([('u', c.POINTER[uint32_t], 0), ('f', c.POINTER[ctypes.c_float], 0), ('num_elements', uint32_t, 8)])
_anonenum0: dict[int, str] = {(LP_JIT_BUFFER_BASE:=0): 'LP_JIT_BUFFER_BASE', (LP_JIT_BUFFER_NUM_ELEMENTS:=1): 'LP_JIT_BUFFER_NUM_ELEMENTS', (LP_JIT_BUFFER_NUM_FIELDS:=2): 'LP_JIT_BUFFER_NUM_FIELDS'}
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def lp_llvm_descriptor_base(gallivm:c.POINTER[struct_gallivm_state], buffers_ptr:LLVMValueRef, index:LLVMValueRef, buffers_limit:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def lp_llvm_buffer_base(gallivm:c.POINTER[struct_gallivm_state], buffers_ptr:LLVMValueRef, buffers_offset:LLVMValueRef, buffers_limit:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def lp_llvm_buffer_num_elements(gallivm:c.POINTER[struct_gallivm_state], buffers_ptr:LLVMValueRef, buffers_offset:LLVMValueRef, buffers_limit:int) -> LLVMValueRef: ...
struct_lp_jit_texture.register_fields([('base', ctypes.c_void_p, 0), ('width', uint32_t, 8), ('height', uint16_t, 12), ('depth', uint16_t, 14), ('row_stride', c.Array[uint32_t, Literal[16]], 16), ('img_stride', c.Array[uint32_t, Literal[16]], 80), ('residency', ctypes.c_void_p, 16), ('first_level', uint8_t, 144), ('last_level', uint8_t, 145), ('mip_offsets', c.Array[uint32_t, Literal[16]], 148), ('sampler_index', uint32_t, 212)])
_anonenum1: dict[int, str] = {(LP_JIT_TEXTURE_BASE:=0): 'LP_JIT_TEXTURE_BASE', (LP_JIT_TEXTURE_WIDTH:=1): 'LP_JIT_TEXTURE_WIDTH', (LP_JIT_TEXTURE_HEIGHT:=2): 'LP_JIT_TEXTURE_HEIGHT', (LP_JIT_TEXTURE_DEPTH:=3): 'LP_JIT_TEXTURE_DEPTH', (LP_JIT_TEXTURE_ROW_STRIDE:=4): 'LP_JIT_TEXTURE_ROW_STRIDE', (LP_JIT_TEXTURE_IMG_STRIDE:=5): 'LP_JIT_TEXTURE_IMG_STRIDE', (LP_JIT_TEXTURE_FIRST_LEVEL:=6): 'LP_JIT_TEXTURE_FIRST_LEVEL', (LP_JIT_TEXTURE_LAST_LEVEL:=7): 'LP_JIT_TEXTURE_LAST_LEVEL', (LP_JIT_TEXTURE_MIP_OFFSETS:=8): 'LP_JIT_TEXTURE_MIP_OFFSETS', (LP_JIT_SAMPLER_INDEX_DUMMY:=9): 'LP_JIT_SAMPLER_INDEX_DUMMY', (LP_JIT_TEXTURE_NUM_FIELDS:=10): 'LP_JIT_TEXTURE_NUM_FIELDS'}
@c.record
class struct_lp_jit_sampler(c.Struct):
  SIZE = 28
  min_lod: float
  max_lod: float
  lod_bias: float
  border_color: c.Array[ctypes.c_float, Literal[4]]
struct_lp_jit_sampler.register_fields([('min_lod', ctypes.c_float, 0), ('max_lod', ctypes.c_float, 4), ('lod_bias', ctypes.c_float, 8), ('border_color', c.Array[ctypes.c_float, Literal[4]], 12)])
_anonenum2: dict[int, str] = {(LP_JIT_SAMPLER_MIN_LOD:=0): 'LP_JIT_SAMPLER_MIN_LOD', (LP_JIT_SAMPLER_MAX_LOD:=1): 'LP_JIT_SAMPLER_MAX_LOD', (LP_JIT_SAMPLER_LOD_BIAS:=2): 'LP_JIT_SAMPLER_LOD_BIAS', (LP_JIT_SAMPLER_BORDER_COLOR:=3): 'LP_JIT_SAMPLER_BORDER_COLOR', (LP_JIT_SAMPLER_NUM_FIELDS:=4): 'LP_JIT_SAMPLER_NUM_FIELDS'}
@c.record
class struct_lp_jit_image(c.Struct):
  SIZE = 48
  base: ctypes.c_void_p
  width: int
  height: int
  depth: int
  num_samples: int
  sample_stride: int
  row_stride: int
  img_stride: int
  residency: ctypes.c_void_p
  base_offset: int
struct_lp_jit_image.register_fields([('base', ctypes.c_void_p, 0), ('width', uint32_t, 8), ('height', uint16_t, 12), ('depth', uint16_t, 14), ('num_samples', uint8_t, 16), ('sample_stride', uint32_t, 20), ('row_stride', uint32_t, 24), ('img_stride', uint32_t, 28), ('residency', ctypes.c_void_p, 32), ('base_offset', uint32_t, 40)])
_anonenum3: dict[int, str] = {(LP_JIT_IMAGE_BASE:=0): 'LP_JIT_IMAGE_BASE', (LP_JIT_IMAGE_WIDTH:=1): 'LP_JIT_IMAGE_WIDTH', (LP_JIT_IMAGE_HEIGHT:=2): 'LP_JIT_IMAGE_HEIGHT', (LP_JIT_IMAGE_DEPTH:=3): 'LP_JIT_IMAGE_DEPTH', (LP_JIT_IMAGE_NUM_SAMPLES:=4): 'LP_JIT_IMAGE_NUM_SAMPLES', (LP_JIT_IMAGE_SAMPLE_STRIDE:=5): 'LP_JIT_IMAGE_SAMPLE_STRIDE', (LP_JIT_IMAGE_ROW_STRIDE:=6): 'LP_JIT_IMAGE_ROW_STRIDE', (LP_JIT_IMAGE_IMG_STRIDE:=7): 'LP_JIT_IMAGE_IMG_STRIDE', (LP_JIT_IMAGE_RESIDENCY:=8): 'LP_JIT_IMAGE_RESIDENCY', (LP_JIT_IMAGE_BASE_OFFSET:=9): 'LP_JIT_IMAGE_BASE_OFFSET', (LP_JIT_IMAGE_NUM_FIELDS:=10): 'LP_JIT_IMAGE_NUM_FIELDS'}
@c.record
class struct_lp_jit_resources(c.Struct):
  SIZE = 32384
  constants: c.Array[struct_lp_jit_buffer, Literal[16]]
  ssbos: c.Array[struct_lp_jit_buffer, Literal[32]]
  textures: c.Array[struct_lp_jit_texture, Literal[128]]
  samplers: c.Array[struct_lp_jit_sampler, Literal[32]]
  images: c.Array[struct_lp_jit_image, Literal[64]]
struct_lp_jit_resources.register_fields([('constants', c.Array[struct_lp_jit_buffer, Literal[16]], 0), ('ssbos', c.Array[struct_lp_jit_buffer, Literal[32]], 256), ('textures', c.Array[struct_lp_jit_texture, Literal[128]], 768), ('samplers', c.Array[struct_lp_jit_sampler, Literal[32]], 28416), ('images', c.Array[struct_lp_jit_image, Literal[64]], 29312)])
_anonenum4: dict[int, str] = {(LP_JIT_RES_CONSTANTS:=0): 'LP_JIT_RES_CONSTANTS', (LP_JIT_RES_SSBOS:=1): 'LP_JIT_RES_SSBOS', (LP_JIT_RES_TEXTURES:=2): 'LP_JIT_RES_TEXTURES', (LP_JIT_RES_SAMPLERS:=3): 'LP_JIT_RES_SAMPLERS', (LP_JIT_RES_IMAGES:=4): 'LP_JIT_RES_IMAGES', (LP_JIT_RES_COUNT:=5): 'LP_JIT_RES_COUNT'}
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state])
def lp_build_jit_resources_type(gallivm:c.POINTER[struct_gallivm_state]) -> LLVMTypeRef: ...
_anonenum5: dict[int, str] = {(LP_JIT_VERTEX_HEADER_VERTEX_ID:=0): 'LP_JIT_VERTEX_HEADER_VERTEX_ID', (LP_JIT_VERTEX_HEADER_CLIP_POS:=1): 'LP_JIT_VERTEX_HEADER_CLIP_POS', (LP_JIT_VERTEX_HEADER_DATA:=2): 'LP_JIT_VERTEX_HEADER_DATA'}
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], ctypes.c_int32)
def lp_build_create_jit_vertex_header_type(gallivm:c.POINTER[struct_gallivm_state], data_elems:int) -> LLVMTypeRef: ...
@dll.bind(None, c.POINTER[struct_lp_sampler_dynamic_state])
def lp_build_jit_fill_sampler_dynamic_state(state:c.POINTER[struct_lp_sampler_dynamic_state]) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_sampler_dynamic_state])
def lp_build_jit_fill_image_dynamic_state(state:c.POINTER[struct_lp_sampler_dynamic_state]) -> None: ...
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], uint32_t)
def lp_build_sample_function_type(gallivm:c.POINTER[struct_gallivm_state], sample_key:uint32_t) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_sampler_size_query_params])
def lp_build_size_function_type(gallivm:c.POINTER[struct_gallivm_state], params:c.POINTER[struct_lp_sampler_size_query_params]) -> LLVMTypeRef: ...
@dll.bind(LLVMTypeRef, c.POINTER[struct_gallivm_state], c.POINTER[struct_lp_img_params], ctypes.c_bool, ctypes.c_bool)
def lp_build_image_function_type(gallivm:c.POINTER[struct_gallivm_state], params:c.POINTER[struct_lp_img_params], ms:bool, is64:bool) -> LLVMTypeRef: ...
@c.record
class struct_lp_texture_handle_state(c.Struct):
  SIZE = 232
  static_state: struct_lp_static_texture_state
  dynamic_state: struct_lp_jit_texture
@c.record
class struct_lp_static_texture_state(c.Struct):
  SIZE = 12
  format: int
  res_format: int
  swizzle_r: int
  swizzle_g: int
  swizzle_b: int
  swizzle_a: int
  target: int
  res_target: int
  pot_width: int
  pot_height: int
  pot_depth: int
  level_zero_only: int
  tiled: int
  tiled_samples: int
enum_pipe_texture_target: dict[int, str] = {(PIPE_BUFFER:=0): 'PIPE_BUFFER', (PIPE_TEXTURE_1D:=1): 'PIPE_TEXTURE_1D', (PIPE_TEXTURE_2D:=2): 'PIPE_TEXTURE_2D', (PIPE_TEXTURE_3D:=3): 'PIPE_TEXTURE_3D', (PIPE_TEXTURE_CUBE:=4): 'PIPE_TEXTURE_CUBE', (PIPE_TEXTURE_RECT:=5): 'PIPE_TEXTURE_RECT', (PIPE_TEXTURE_1D_ARRAY:=6): 'PIPE_TEXTURE_1D_ARRAY', (PIPE_TEXTURE_2D_ARRAY:=7): 'PIPE_TEXTURE_2D_ARRAY', (PIPE_TEXTURE_CUBE_ARRAY:=8): 'PIPE_TEXTURE_CUBE_ARRAY', (PIPE_MAX_TEXTURE_TYPES:=9): 'PIPE_MAX_TEXTURE_TYPES'}
struct_lp_static_texture_state.register_fields([('format', ctypes.c_uint32, 0), ('res_format', ctypes.c_uint32, 4), ('swizzle_r', ctypes.c_uint32, 8, 3, 0), ('swizzle_g', ctypes.c_uint32, 8, 3, 3), ('swizzle_b', ctypes.c_uint32, 8, 3, 6), ('swizzle_a', ctypes.c_uint32, 9, 3, 1), ('target', ctypes.c_uint32, 9, 5, 4), ('res_target', ctypes.c_uint32, 10, 5, 1), ('pot_width', ctypes.c_uint32, 10, 1, 6), ('pot_height', ctypes.c_uint32, 10, 1, 7), ('pot_depth', ctypes.c_uint32, 11, 1, 0), ('level_zero_only', ctypes.c_uint32, 11, 1, 1), ('tiled', ctypes.c_uint32, 11, 1, 2), ('tiled_samples', ctypes.c_uint32, 11, 5, 3)])
struct_lp_texture_handle_state.register_fields([('static_state', struct_lp_static_texture_state, 0), ('dynamic_state', struct_lp_jit_texture, 16)])
@c.record
class struct_lp_texture_functions(c.Struct):
  SIZE = 296
  sample_functions: c.POINTER[c.POINTER[ctypes.c_void_p]]
  sampler_count: int
  fetch_functions: c.POINTER[ctypes.c_void_p]
  size_function: ctypes.c_void_p
  samples_function: ctypes.c_void_p
  image_functions: c.POINTER[ctypes.c_void_p]
  state: struct_lp_texture_handle_state
  sampled: bool
  storage: bool
  matrix: ctypes.c_void_p
struct_lp_texture_functions.register_fields([('sample_functions', c.POINTER[c.POINTER[ctypes.c_void_p]], 0), ('sampler_count', uint32_t, 8), ('fetch_functions', c.POINTER[ctypes.c_void_p], 16), ('size_function', ctypes.c_void_p, 24), ('samples_function', ctypes.c_void_p, 32), ('image_functions', c.POINTER[ctypes.c_void_p], 40), ('state', struct_lp_texture_handle_state, 48), ('sampled', ctypes.c_bool, 280), ('storage', ctypes.c_bool, 281), ('matrix', ctypes.c_void_p, 288)])
@c.record
class struct_lp_texture_handle(c.Struct):
  SIZE = 16
  functions: ctypes.c_void_p
  sampler_index: int
struct_lp_texture_handle.register_fields([('functions', ctypes.c_void_p, 0), ('sampler_index', uint32_t, 8)])
@c.record
class struct_lp_jit_bindless_texture(c.Struct):
  SIZE = 24
  base: ctypes.c_void_p
  residency: ctypes.c_void_p
  sampler_index: int
struct_lp_jit_bindless_texture.register_fields([('base', ctypes.c_void_p, 0), ('residency', ctypes.c_void_p, 8), ('sampler_index', uint32_t, 16)])
@c.record
class struct_lp_descriptor(c.Struct):
  SIZE = 64
  texture: struct_lp_jit_bindless_texture
  sampler: struct_lp_jit_sampler
  image: struct_lp_jit_image
  buffer: struct_lp_jit_buffer
  accel_struct: int
  functions: ctypes.c_void_p
struct_lp_descriptor.register_fields([('texture', struct_lp_jit_bindless_texture, 0), ('sampler', struct_lp_jit_sampler, 24), ('image', struct_lp_jit_image, 0), ('buffer', struct_lp_jit_buffer, 0), ('accel_struct', uint64_t, 0), ('functions', ctypes.c_void_p, 56)])
@dll.bind(None, c.POINTER[struct_lp_build_skip_context], c.POINTER[struct_gallivm_state])
def lp_build_flow_skip_begin(ctx:c.POINTER[struct_lp_build_skip_context], gallivm:c.POINTER[struct_gallivm_state]) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_skip_context], LLVMValueRef)
def lp_build_flow_skip_cond_break(ctx:c.POINTER[struct_lp_build_skip_context], cond:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_skip_context])
def lp_build_flow_skip_end(ctx:c.POINTER[struct_lp_build_skip_context]) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_mask_context], c.POINTER[struct_gallivm_state], struct_lp_type, LLVMValueRef)
def lp_build_mask_begin(mask:c.POINTER[struct_lp_build_mask_context], gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type, value:LLVMValueRef) -> None: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_lp_build_mask_context])
def lp_build_mask_value(mask:c.POINTER[struct_lp_build_mask_context]) -> LLVMValueRef: ...
@dll.bind(None, c.POINTER[struct_lp_build_mask_context], LLVMValueRef)
def lp_build_mask_update(mask:c.POINTER[struct_lp_build_mask_context], value:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_mask_context], LLVMValueRef)
def lp_build_mask_force(mask:c.POINTER[struct_lp_build_mask_context], value:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_mask_context])
def lp_build_mask_check(mask:c.POINTER[struct_lp_build_mask_context]) -> None: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_lp_build_mask_context])
def lp_build_mask_end(mask:c.POINTER[struct_lp_build_mask_context]) -> LLVMValueRef: ...
@c.record
class struct_lp_build_loop_state(c.Struct):
  SIZE = 40
  block: c.POINTER[struct_LLVMOpaqueBasicBlock]
  counter_var: c.POINTER[struct_LLVMOpaqueValue]
  counter: c.POINTER[struct_LLVMOpaqueValue]
  counter_type: c.POINTER[struct_LLVMOpaqueType]
  gallivm: c.POINTER[struct_gallivm_state]
struct_lp_build_loop_state.register_fields([('block', LLVMBasicBlockRef, 0), ('counter_var', LLVMValueRef, 8), ('counter', LLVMValueRef, 16), ('counter_type', LLVMTypeRef, 24), ('gallivm', c.POINTER[struct_gallivm_state], 32)])
@dll.bind(None, c.POINTER[struct_lp_build_loop_state], c.POINTER[struct_gallivm_state], LLVMValueRef)
def lp_build_loop_begin(state:c.POINTER[struct_lp_build_loop_state], gallivm:c.POINTER[struct_gallivm_state], start:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_loop_state], LLVMValueRef, LLVMValueRef)
def lp_build_loop_end(state:c.POINTER[struct_lp_build_loop_state], end:LLVMValueRef, step:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_loop_state], LLVMValueRef)
def lp_build_loop_force_set_counter(state:c.POINTER[struct_lp_build_loop_state], end:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_loop_state])
def lp_build_loop_force_reload_counter(state:c.POINTER[struct_lp_build_loop_state]) -> None: ...
LLVMIntPredicate: dict[int, str] = {(LLVMIntEQ:=32): 'LLVMIntEQ', (LLVMIntNE:=33): 'LLVMIntNE', (LLVMIntUGT:=34): 'LLVMIntUGT', (LLVMIntUGE:=35): 'LLVMIntUGE', (LLVMIntULT:=36): 'LLVMIntULT', (LLVMIntULE:=37): 'LLVMIntULE', (LLVMIntSGT:=38): 'LLVMIntSGT', (LLVMIntSGE:=39): 'LLVMIntSGE', (LLVMIntSLT:=40): 'LLVMIntSLT', (LLVMIntSLE:=41): 'LLVMIntSLE'}
@dll.bind(None, c.POINTER[struct_lp_build_loop_state], LLVMValueRef, LLVMValueRef, ctypes.c_uint32)
def lp_build_loop_end_cond(state:c.POINTER[struct_lp_build_loop_state], end:LLVMValueRef, step:LLVMValueRef, cond:ctypes.c_uint32) -> None: ...
@c.record
class struct_lp_build_for_loop_state(c.Struct):
  SIZE = 80
  begin: c.POINTER[struct_LLVMOpaqueBasicBlock]
  body: c.POINTER[struct_LLVMOpaqueBasicBlock]
  exit: c.POINTER[struct_LLVMOpaqueBasicBlock]
  counter_var: c.POINTER[struct_LLVMOpaqueValue]
  counter: c.POINTER[struct_LLVMOpaqueValue]
  counter_type: c.POINTER[struct_LLVMOpaqueType]
  step: c.POINTER[struct_LLVMOpaqueValue]
  cond: int
  end: c.POINTER[struct_LLVMOpaqueValue]
  gallivm: c.POINTER[struct_gallivm_state]
struct_lp_build_for_loop_state.register_fields([('begin', LLVMBasicBlockRef, 0), ('body', LLVMBasicBlockRef, 8), ('exit', LLVMBasicBlockRef, 16), ('counter_var', LLVMValueRef, 24), ('counter', LLVMValueRef, 32), ('counter_type', LLVMTypeRef, 40), ('step', LLVMValueRef, 48), ('cond', ctypes.c_uint32, 56), ('end', LLVMValueRef, 64), ('gallivm', c.POINTER[struct_gallivm_state], 72)])
@dll.bind(None, c.POINTER[struct_lp_build_for_loop_state], c.POINTER[struct_gallivm_state], LLVMValueRef, ctypes.c_uint32, LLVMValueRef, LLVMValueRef)
def lp_build_for_loop_begin(state:c.POINTER[struct_lp_build_for_loop_state], gallivm:c.POINTER[struct_gallivm_state], start:LLVMValueRef, llvm_cond:ctypes.c_uint32, end:LLVMValueRef, step:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_for_loop_state])
def lp_build_for_loop_end(state:c.POINTER[struct_lp_build_for_loop_state]) -> None: ...
@c.record
class struct_lp_build_if_state(c.Struct):
  SIZE = 48
  gallivm: c.POINTER[struct_gallivm_state]
  condition: c.POINTER[struct_LLVMOpaqueValue]
  entry_block: c.POINTER[struct_LLVMOpaqueBasicBlock]
  true_block: c.POINTER[struct_LLVMOpaqueBasicBlock]
  false_block: c.POINTER[struct_LLVMOpaqueBasicBlock]
  merge_block: c.POINTER[struct_LLVMOpaqueBasicBlock]
struct_lp_build_if_state.register_fields([('gallivm', c.POINTER[struct_gallivm_state], 0), ('condition', LLVMValueRef, 8), ('entry_block', LLVMBasicBlockRef, 16), ('true_block', LLVMBasicBlockRef, 24), ('false_block', LLVMBasicBlockRef, 32), ('merge_block', LLVMBasicBlockRef, 40)])
@dll.bind(None, c.POINTER[struct_lp_build_if_state], c.POINTER[struct_gallivm_state], LLVMValueRef)
def lp_build_if(ctx:c.POINTER[struct_lp_build_if_state], gallivm:c.POINTER[struct_gallivm_state], condition:LLVMValueRef) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_if_state])
def lp_build_else(ctx:c.POINTER[struct_lp_build_if_state]) -> None: ...
@dll.bind(None, c.POINTER[struct_lp_build_if_state])
def lp_build_endif(ctx:c.POINTER[struct_lp_build_if_state]) -> None: ...
@dll.bind(LLVMBasicBlockRef, c.POINTER[struct_gallivm_state], c.POINTER[ctypes.c_char])
def lp_build_insert_new_block(gallivm:c.POINTER[struct_gallivm_state], name:c.POINTER[ctypes.c_char]) -> LLVMBasicBlockRef: ...
@dll.bind(LLVMBuilderRef, c.POINTER[struct_gallivm_state])
def lp_create_builder_at_entry(gallivm:c.POINTER[struct_gallivm_state]) -> LLVMBuilderRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMTypeRef, c.POINTER[ctypes.c_char])
def lp_build_alloca(gallivm:c.POINTER[struct_gallivm_state], type:LLVMTypeRef, name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMTypeRef, c.POINTER[ctypes.c_char])
def lp_build_alloca_undef(gallivm:c.POINTER[struct_gallivm_state], type:LLVMTypeRef, name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], LLVMTypeRef, LLVMValueRef, c.POINTER[ctypes.c_char])
def lp_build_array_alloca(gallivm:c.POINTER[struct_gallivm_state], type:LLVMTypeRef, count:LLVMValueRef, name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(ctypes.c_uint32, struct_lp_type)
def lp_mantissa(type:struct_lp_type) -> int: ...
@dll.bind(ctypes.c_uint32, struct_lp_type)
def lp_const_shift(type:struct_lp_type) -> int: ...
@dll.bind(ctypes.c_uint32, struct_lp_type)
def lp_const_offset(type:struct_lp_type) -> int: ...
@dll.bind(ctypes.c_double, struct_lp_type)
def lp_const_scale(type:struct_lp_type) -> float: ...
@dll.bind(ctypes.c_double, struct_lp_type)
def lp_const_min(type:struct_lp_type) -> float: ...
@dll.bind(ctypes.c_double, struct_lp_type)
def lp_const_max(type:struct_lp_type) -> float: ...
@dll.bind(ctypes.c_double, struct_lp_type)
def lp_const_eps(type:struct_lp_type) -> float: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_undef(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_zero(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_one(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type, ctypes.c_double)
def lp_build_const_elem(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type, val:float) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type, ctypes.c_double)
def lp_build_const_vec(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type, val:float) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type, ctypes.c_int64)
def lp_build_const_int_vec(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type, val:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type)
def lp_build_const_channel_vec(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type, ctypes.c_double, ctypes.c_double, ctypes.c_double, ctypes.c_double, c.POINTER[ctypes.c_ubyte])
def lp_build_const_aos(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type, r:float, g:float, b:float, a:float, swizzle:c.POINTER[ctypes.c_ubyte]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type, ctypes.c_uint32, ctypes.c_uint32)
def lp_build_const_mask_aos(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type, mask:int, channels:int) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], struct_lp_type, ctypes.c_uint32, ctypes.c_uint32, c.POINTER[ctypes.c_ubyte])
def lp_build_const_mask_aos_swizzled(gallivm:c.POINTER[struct_gallivm_state], type:struct_lp_type, mask:int, channels:int, swizzle:c.POINTER[ctypes.c_ubyte]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], c.POINTER[ctypes.c_char])
def lp_build_const_string(gallivm:c.POINTER[struct_gallivm_state], str:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], ctypes.c_void_p, LLVMTypeRef, c.POINTER[LLVMTypeRef], ctypes.c_uint32, c.POINTER[ctypes.c_char])
def lp_build_const_func_pointer(gallivm:c.POINTER[struct_gallivm_state], ptr:ctypes.c_void_p, ret_type:LLVMTypeRef, arg_types:c.POINTER[LLVMTypeRef], num_args:int, name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@dll.bind(LLVMValueRef, c.POINTER[struct_gallivm_state], ctypes.c_void_p, LLVMTypeRef, c.POINTER[ctypes.c_char])
def lp_build_const_func_pointer_from_type(gallivm:c.POINTER[struct_gallivm_state], ptr:ctypes.c_void_p, function_type:LLVMTypeRef, name:c.POINTER[ctypes.c_char]) -> LLVMValueRef: ...
@c.record
class struct_fd_dev_info(c.Struct):
  SIZE = 764
  chip: int
  tile_align_w: int
  tile_align_h: int
  gmem_align_w: int
  gmem_align_h: int
  tile_max_w: int
  tile_max_h: int
  num_vsc_pipes: int
  cs_shared_mem_size: int
  wave_granularity: int
  highest_bank_bit: int
  ubwc_swizzle: int
  macrotile_mode: int
  fibers_per_sp: int
  threadsize_base: int
  max_waves: int
  compute_lb_size: int
  num_sp_cores: int
  num_ccu: int
  a6xx: struct_fd_dev_info_a6xx
  a7xx: struct_fd_dev_info_a7xx
@c.record
class struct_fd_dev_info_a6xx(c.Struct):
  SIZE = 656
  reg_size_vec4: int
  instr_cache_size: int
  has_hw_multiview: bool
  has_fs_tex_prefetch: bool
  supports_multiview_mask: bool
  concurrent_resolve: bool
  has_z24uint_s8uint: bool
  tess_use_shared: bool
  has_legacy_pipeline_shading_rate: bool
  storage_16bit: bool
  indirect_draw_wfm_quirk: bool
  depth_bounds_require_depth_test_quirk: bool
  has_tex_filter_cubic: bool
  has_separate_chroma_filter: bool
  has_sample_locations: bool
  has_cp_reg_write: bool
  has_8bpp_ubwc: bool
  has_lpac: bool
  has_getfiberid: bool
  mov_half_shared_quirk: bool
  has_movs: bool
  has_dp2acc: bool
  has_dp4acc: bool
  enable_lrz_fast_clear: bool
  has_lrz_dir_tracking: bool
  lrz_track_quirk: bool
  has_lrz_feedback: bool
  has_per_view_viewport: bool
  has_gmem_fast_clear: bool
  sysmem_per_ccu_depth_cache_size: int
  sysmem_per_ccu_color_cache_size: int
  gmem_ccu_color_cache_fraction: int
  prim_alloc_threshold: int
  vs_max_inputs_count: int
  supports_double_threadsize: bool
  has_sampler_minmax: bool
  broken_ds_ubwc_quirk: bool
  has_scalar_alu: bool
  has_early_preamble: bool
  has_isam_v: bool
  has_ssbo_imm_offsets: bool
  has_coherent_ubwc_flag_caches: bool
  has_attachment_shading_rate: bool
  has_ubwc_linear_mipmap_fallback: bool
  predtf_nop_quirk: bool
  prede_nop_quirk: bool
  has_sad: bool
  is_a702: bool
  magic: struct_fd_dev_info_a6xx_magic
  magic_raw: c.Array[struct_fd_dev_info_a6xx_magic_raw, Literal[64]]
  max_sets: int
  line_width_min: float
  line_width_max: float
  has_bin_mask: bool
@c.record
class struct_fd_dev_info_a6xx_magic(c.Struct):
  SIZE = 56
  PC_POWER_CNTL: int
  TPL1_DBG_ECO_CNTL: int
  GRAS_DBG_ECO_CNTL: int
  SP_CHICKEN_BITS: int
  UCHE_CLIENT_PF: int
  PC_MODE_CNTL: int
  SP_DBG_ECO_CNTL: int
  RB_DBG_ECO_CNTL: int
  RB_DBG_ECO_CNTL_blit: int
  HLSQ_DBG_ECO_CNTL: int
  RB_UNKNOWN_8E01: int
  VPC_DBG_ECO_CNTL: int
  UCHE_UNKNOWN_0E12: int
  RB_CCU_DBG_ECO_CNTL: int
struct_fd_dev_info_a6xx_magic.register_fields([('PC_POWER_CNTL', uint32_t, 0), ('TPL1_DBG_ECO_CNTL', uint32_t, 4), ('GRAS_DBG_ECO_CNTL', uint32_t, 8), ('SP_CHICKEN_BITS', uint32_t, 12), ('UCHE_CLIENT_PF', uint32_t, 16), ('PC_MODE_CNTL', uint32_t, 20), ('SP_DBG_ECO_CNTL', uint32_t, 24), ('RB_DBG_ECO_CNTL', uint32_t, 28), ('RB_DBG_ECO_CNTL_blit', uint32_t, 32), ('HLSQ_DBG_ECO_CNTL', uint32_t, 36), ('RB_UNKNOWN_8E01', uint32_t, 40), ('VPC_DBG_ECO_CNTL', uint32_t, 44), ('UCHE_UNKNOWN_0E12', uint32_t, 48), ('RB_CCU_DBG_ECO_CNTL', uint32_t, 52)])
@c.record
class struct_fd_dev_info_a6xx_magic_raw(c.Struct):
  SIZE = 8
  reg: int
  value: int
struct_fd_dev_info_a6xx_magic_raw.register_fields([('reg', uint32_t, 0), ('value', uint32_t, 4)])
struct_fd_dev_info_a6xx.register_fields([('reg_size_vec4', uint32_t, 0), ('instr_cache_size', uint32_t, 4), ('has_hw_multiview', ctypes.c_bool, 8), ('has_fs_tex_prefetch', ctypes.c_bool, 9), ('supports_multiview_mask', ctypes.c_bool, 10), ('concurrent_resolve', ctypes.c_bool, 11), ('has_z24uint_s8uint', ctypes.c_bool, 12), ('tess_use_shared', ctypes.c_bool, 13), ('has_legacy_pipeline_shading_rate', ctypes.c_bool, 14), ('storage_16bit', ctypes.c_bool, 15), ('indirect_draw_wfm_quirk', ctypes.c_bool, 16), ('depth_bounds_require_depth_test_quirk', ctypes.c_bool, 17), ('has_tex_filter_cubic', ctypes.c_bool, 18), ('has_separate_chroma_filter', ctypes.c_bool, 19), ('has_sample_locations', ctypes.c_bool, 20), ('has_cp_reg_write', ctypes.c_bool, 21), ('has_8bpp_ubwc', ctypes.c_bool, 22), ('has_lpac', ctypes.c_bool, 23), ('has_getfiberid', ctypes.c_bool, 24), ('mov_half_shared_quirk', ctypes.c_bool, 25), ('has_movs', ctypes.c_bool, 26), ('has_dp2acc', ctypes.c_bool, 27), ('has_dp4acc', ctypes.c_bool, 28), ('enable_lrz_fast_clear', ctypes.c_bool, 29), ('has_lrz_dir_tracking', ctypes.c_bool, 30), ('lrz_track_quirk', ctypes.c_bool, 31), ('has_lrz_feedback', ctypes.c_bool, 32), ('has_per_view_viewport', ctypes.c_bool, 33), ('has_gmem_fast_clear', ctypes.c_bool, 34), ('sysmem_per_ccu_depth_cache_size', uint32_t, 36), ('sysmem_per_ccu_color_cache_size', uint32_t, 40), ('gmem_ccu_color_cache_fraction', uint32_t, 44), ('prim_alloc_threshold', uint32_t, 48), ('vs_max_inputs_count', uint32_t, 52), ('supports_double_threadsize', ctypes.c_bool, 56), ('has_sampler_minmax', ctypes.c_bool, 57), ('broken_ds_ubwc_quirk', ctypes.c_bool, 58), ('has_scalar_alu', ctypes.c_bool, 59), ('has_early_preamble', ctypes.c_bool, 60), ('has_isam_v', ctypes.c_bool, 61), ('has_ssbo_imm_offsets', ctypes.c_bool, 62), ('has_coherent_ubwc_flag_caches', ctypes.c_bool, 63), ('has_attachment_shading_rate', ctypes.c_bool, 64), ('has_ubwc_linear_mipmap_fallback', ctypes.c_bool, 65), ('predtf_nop_quirk', ctypes.c_bool, 66), ('prede_nop_quirk', ctypes.c_bool, 67), ('has_sad', ctypes.c_bool, 68), ('is_a702', ctypes.c_bool, 69), ('magic', struct_fd_dev_info_a6xx_magic, 72), ('magic_raw', c.Array[struct_fd_dev_info_a6xx_magic_raw, Literal[64]], 128), ('max_sets', uint32_t, 640), ('line_width_min', ctypes.c_float, 644), ('line_width_max', ctypes.c_float, 648), ('has_bin_mask', ctypes.c_bool, 652)])
@c.record
class struct_fd_dev_info_a7xx(c.Struct):
  SIZE = 36
  stsc_duplication_quirk: bool
  has_event_write_sample_count: bool
  has_64b_ssbo_atomics: bool
  cmdbuf_start_a725_quirk: bool
  load_inline_uniforms_via_preamble_ldgk: bool
  load_shader_consts_via_preamble: bool
  has_gmem_vpc_attr_buf: bool
  sysmem_vpc_attr_buf_size: int
  gmem_vpc_attr_buf_size: int
  supports_uav_ubwc: bool
  ubwc_unorm_snorm_int_compatible: bool
  fs_must_have_non_zero_constlen_quirk: bool
  gs_vpc_adjacency_quirk: bool
  enable_tp_ubwc_flag_hint: bool
  storage_8bit: bool
  ubwc_all_formats_compatible: bool
  has_compliant_dp4acc: bool
  has_generic_clear: bool
  r8g8_faulty_fast_clear_quirk: bool
  ubwc_coherency_quirk: bool
  has_persistent_counter: bool
  has_primitive_shading_rate: bool
  reading_shading_rate_requires_smask_quirk: bool
  has_ray_intersection: bool
  has_sw_fuse: bool
  has_rt_workaround: bool
  has_alias_rt: bool
  has_abs_bin_mask: bool
  new_control_regs: bool
struct_fd_dev_info_a7xx.register_fields([('stsc_duplication_quirk', ctypes.c_bool, 0), ('has_event_write_sample_count', ctypes.c_bool, 1), ('has_64b_ssbo_atomics', ctypes.c_bool, 2), ('cmdbuf_start_a725_quirk', ctypes.c_bool, 3), ('load_inline_uniforms_via_preamble_ldgk', ctypes.c_bool, 4), ('load_shader_consts_via_preamble', ctypes.c_bool, 5), ('has_gmem_vpc_attr_buf', ctypes.c_bool, 6), ('sysmem_vpc_attr_buf_size', uint32_t, 8), ('gmem_vpc_attr_buf_size', uint32_t, 12), ('supports_uav_ubwc', ctypes.c_bool, 16), ('ubwc_unorm_snorm_int_compatible', ctypes.c_bool, 17), ('fs_must_have_non_zero_constlen_quirk', ctypes.c_bool, 18), ('gs_vpc_adjacency_quirk', ctypes.c_bool, 19), ('enable_tp_ubwc_flag_hint', ctypes.c_bool, 20), ('storage_8bit', ctypes.c_bool, 21), ('ubwc_all_formats_compatible', ctypes.c_bool, 22), ('has_compliant_dp4acc', ctypes.c_bool, 23), ('has_generic_clear', ctypes.c_bool, 24), ('r8g8_faulty_fast_clear_quirk', ctypes.c_bool, 25), ('ubwc_coherency_quirk', ctypes.c_bool, 26), ('has_persistent_counter', ctypes.c_bool, 27), ('has_primitive_shading_rate', ctypes.c_bool, 28), ('reading_shading_rate_requires_smask_quirk', ctypes.c_bool, 29), ('has_ray_intersection', ctypes.c_bool, 30), ('has_sw_fuse', ctypes.c_bool, 31), ('has_rt_workaround', ctypes.c_bool, 32), ('has_alias_rt', ctypes.c_bool, 33), ('has_abs_bin_mask', ctypes.c_bool, 34), ('new_control_regs', ctypes.c_bool, 35)])
struct_fd_dev_info.register_fields([('chip', uint8_t, 0), ('tile_align_w', uint32_t, 4), ('tile_align_h', uint32_t, 8), ('gmem_align_w', uint32_t, 12), ('gmem_align_h', uint32_t, 16), ('tile_max_w', uint32_t, 20), ('tile_max_h', uint32_t, 24), ('num_vsc_pipes', uint32_t, 28), ('cs_shared_mem_size', uint32_t, 32), ('wave_granularity', ctypes.c_int32, 36), ('highest_bank_bit', uint32_t, 40), ('ubwc_swizzle', uint32_t, 44), ('macrotile_mode', uint32_t, 48), ('fibers_per_sp', uint32_t, 52), ('threadsize_base', uint32_t, 56), ('max_waves', uint32_t, 60), ('compute_lb_size', uint32_t, 64), ('num_sp_cores', uint32_t, 68), ('num_ccu', uint32_t, 68), ('a6xx', struct_fd_dev_info_a6xx, 72), ('a7xx', struct_fd_dev_info_a7xx, 728)])
@c.record
class struct_fd_dev_id(c.Struct):
  SIZE = 16
  gpu_id: int
  chip_id: int
struct_fd_dev_id.register_fields([('gpu_id', uint32_t, 0), ('chip_id', uint64_t, 8)])
@dll.bind(c.POINTER[struct_fd_dev_info], c.POINTER[struct_fd_dev_id])
def fd_dev_info_raw(id:c.POINTER[struct_fd_dev_id]) -> c.POINTER[struct_fd_dev_info]: ...
@dll.bind(struct_fd_dev_info, c.POINTER[struct_fd_dev_id])
def fd_dev_info(id:c.POINTER[struct_fd_dev_id]) -> struct_fd_dev_info: ...
@dll.bind(c.POINTER[struct_fd_dev_info], c.POINTER[ctypes.c_char])
def fd_dev_info_raw_by_name(name:c.POINTER[ctypes.c_char]) -> c.POINTER[struct_fd_dev_info]: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[struct_fd_dev_id])
def fd_dev_name(id:c.POINTER[struct_fd_dev_id]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(None, c.POINTER[struct_fd_dev_info])
def fd_dev_info_apply_dbg_options(info:c.POINTER[struct_fd_dev_info]) -> None: ...
class struct_ir3_ra_reg_set(c.Struct): pass
@c.record
class struct_ir3_shader(c.Struct):
  SIZE = 1216
  type: int
  id: int
  variant_count: int
  initial_variants_done: bool
  compiler: c.POINTER[struct_ir3_compiler]
  options: struct_ir3_shader_options
  nir_finalized: bool
  nir: c.POINTER[struct_nir_shader]
  stream_output: struct_ir3_stream_output_info
  cs: struct_ir3_shader_cs
  vs: struct_ir3_shader_vs
  variants: c.POINTER[struct_ir3_shader_variant]
  variants_lock: pthread_mutex_t
  cache_key: c.Array[ctypes.c_ubyte, Literal[20]]
  key_mask: struct_ir3_shader_key
@c.record
class struct_ir3_compiler_options(c.Struct):
  SIZE = 32
  push_ubo_with_preamble: bool
  disable_cache: bool
  bindless_fb_read_descriptor: int
  bindless_fb_read_slot: int
  storage_16bit: bool
  storage_8bit: bool
  lower_base_vertex: bool
  shared_push_consts: bool
  dual_color_blend_by_location: bool
  uche_trap_base: int
struct_ir3_compiler_options.register_fields([('push_ubo_with_preamble', ctypes.c_bool, 0), ('disable_cache', ctypes.c_bool, 1), ('bindless_fb_read_descriptor', ctypes.c_int32, 4), ('bindless_fb_read_slot', ctypes.c_int32, 8), ('storage_16bit', ctypes.c_bool, 12), ('storage_8bit', ctypes.c_bool, 13), ('lower_base_vertex', ctypes.c_bool, 14), ('shared_push_consts', ctypes.c_bool, 15), ('dual_color_blend_by_location', ctypes.c_bool, 16), ('uche_trap_base', uint64_t, 24)])
@c.record
class struct_ir3_compiler(c.Struct):
  SIZE = 456
  dev: c.POINTER[struct_fd_device]
  dev_id: c.POINTER[struct_fd_dev_id]
  gen: int
  shader_count: int
  disk_cache: c.POINTER[struct_disk_cache]
  nir_options: struct_nir_shader_compiler_options
  options: struct_ir3_compiler_options
  is_64bit: bool
  flat_bypass: bool
  levels_add_one: bool
  unminify_coords: bool
  txf_ms_with_isaml: bool
  array_index_add_half: bool
  samgq_workaround: bool
  tess_use_shared: bool
  mergedregs: bool
  max_const_pipeline: int
  max_const_geom: int
  max_const_frag: int
  max_const_safe: int
  max_const_compute: int
  compute_lb_size: int
  instr_align: int
  const_upload_unit: int
  threadsize_base: int
  wave_granularity: int
  max_waves: int
  reg_size_vec4: int
  local_mem_size: int
  branchstack_size: int
  pvtmem_per_fiber_align: int
  has_clip_cull: bool
  has_pvtmem: bool
  has_isam_ssbo: bool
  has_isam_v: bool
  has_ssbo_imm_offsets: bool
  has_getfiberid: bool
  mov_half_shared_quirk: bool
  has_movs: bool
  has_shfl: bool
  has_bitwise_triops: bool
  num_predicates: int
  bitops_can_write_predicates: bool
  has_branch_and_or: bool
  has_predication: bool
  predtf_nop_quirk: bool
  prede_nop_quirk: bool
  max_variable_workgroup_size: int
  has_dp2acc: bool
  has_dp4acc: bool
  has_compliant_dp4acc: bool
  bool_type: int
  has_shared_regfile: bool
  has_preamble: bool
  shared_consts_base_offset: int
  shared_consts_size: int
  geom_shared_consts_size_quirk: int
  has_fs_tex_prefetch: bool
  stsc_duplication_quirk: bool
  load_shader_consts_via_preamble: bool
  load_inline_uniforms_via_preamble_ldgk: bool
  has_scalar_alu: bool
  fs_must_have_non_zero_constlen_quirk: bool
  has_early_preamble: bool
  has_rpt_bary_f: bool
  has_alias_tex: bool
  has_alias_rt: bool
  reading_shading_rate_requires_smask_quirk: bool
  delay_slots: struct_ir3_compiler_delay_slots
class struct_fd_device(c.Struct): pass
class struct_disk_cache(c.Struct): pass
type_t: dict[int, str] = {(TYPE_F16:=0): 'TYPE_F16', (TYPE_F32:=1): 'TYPE_F32', (TYPE_U16:=2): 'TYPE_U16', (TYPE_U32:=3): 'TYPE_U32', (TYPE_S16:=4): 'TYPE_S16', (TYPE_S32:=5): 'TYPE_S32', (TYPE_ATOMIC_U64:=6): 'TYPE_ATOMIC_U64', (TYPE_U8:=6): 'TYPE_U8', (TYPE_U8_32:=7): 'TYPE_U8_32'}
@c.record
class struct_ir3_compiler_delay_slots(c.Struct):
  SIZE = 12
  alu_to_alu: int
  non_alu: int
  cat3_src2_read: int
struct_ir3_compiler_delay_slots.register_fields([('alu_to_alu', ctypes.c_uint32, 0), ('non_alu', ctypes.c_uint32, 4), ('cat3_src2_read', ctypes.c_uint32, 8)])
struct_ir3_compiler.register_fields([('dev', c.POINTER[struct_fd_device], 0), ('dev_id', c.POINTER[struct_fd_dev_id], 8), ('gen', uint8_t, 16), ('shader_count', uint32_t, 20), ('disk_cache', c.POINTER[struct_disk_cache], 24), ('nir_options', struct_nir_shader_compiler_options, 32), ('options', struct_ir3_compiler_options, 280), ('is_64bit', ctypes.c_bool, 312), ('flat_bypass', ctypes.c_bool, 313), ('levels_add_one', ctypes.c_bool, 314), ('unminify_coords', ctypes.c_bool, 315), ('txf_ms_with_isaml', ctypes.c_bool, 316), ('array_index_add_half', ctypes.c_bool, 317), ('samgq_workaround', ctypes.c_bool, 318), ('tess_use_shared', ctypes.c_bool, 319), ('mergedregs', ctypes.c_bool, 320), ('max_const_pipeline', uint16_t, 322), ('max_const_geom', uint16_t, 324), ('max_const_frag', uint16_t, 326), ('max_const_safe', uint16_t, 328), ('max_const_compute', uint16_t, 330), ('compute_lb_size', uint32_t, 332), ('instr_align', uint32_t, 336), ('const_upload_unit', uint32_t, 340), ('threadsize_base', uint32_t, 344), ('wave_granularity', uint32_t, 348), ('max_waves', uint32_t, 352), ('reg_size_vec4', uint32_t, 356), ('local_mem_size', uint32_t, 360), ('branchstack_size', uint32_t, 364), ('pvtmem_per_fiber_align', uint32_t, 368), ('has_clip_cull', ctypes.c_bool, 372), ('has_pvtmem', ctypes.c_bool, 373), ('has_isam_ssbo', ctypes.c_bool, 374), ('has_isam_v', ctypes.c_bool, 375), ('has_ssbo_imm_offsets', ctypes.c_bool, 376), ('has_getfiberid', ctypes.c_bool, 377), ('mov_half_shared_quirk', ctypes.c_bool, 378), ('has_movs', ctypes.c_bool, 379), ('has_shfl', ctypes.c_bool, 380), ('has_bitwise_triops', ctypes.c_bool, 381), ('num_predicates', uint32_t, 384), ('bitops_can_write_predicates', ctypes.c_bool, 388), ('has_branch_and_or', ctypes.c_bool, 389), ('has_predication', ctypes.c_bool, 390), ('predtf_nop_quirk', ctypes.c_bool, 391), ('prede_nop_quirk', ctypes.c_bool, 392), ('max_variable_workgroup_size', uint32_t, 396), ('has_dp2acc', ctypes.c_bool, 400), ('has_dp4acc', ctypes.c_bool, 401), ('has_compliant_dp4acc', ctypes.c_bool, 402), ('bool_type', ctypes.c_uint32, 404), ('has_shared_regfile', ctypes.c_bool, 408), ('has_preamble', ctypes.c_bool, 409), ('shared_consts_base_offset', uint16_t, 410), ('shared_consts_size', uint64_t, 416), ('geom_shared_consts_size_quirk', uint64_t, 424), ('has_fs_tex_prefetch', ctypes.c_bool, 432), ('stsc_duplication_quirk', ctypes.c_bool, 433), ('load_shader_consts_via_preamble', ctypes.c_bool, 434), ('load_inline_uniforms_via_preamble_ldgk', ctypes.c_bool, 435), ('has_scalar_alu', ctypes.c_bool, 436), ('fs_must_have_non_zero_constlen_quirk', ctypes.c_bool, 437), ('has_early_preamble', ctypes.c_bool, 438), ('has_rpt_bary_f', ctypes.c_bool, 439), ('has_alias_tex', ctypes.c_bool, 440), ('has_alias_rt', ctypes.c_bool, 441), ('reading_shading_rate_requires_smask_quirk', ctypes.c_bool, 442), ('delay_slots', struct_ir3_compiler_delay_slots, 444)])
@dll.bind(None, c.POINTER[struct_ir3_compiler])
def ir3_compiler_destroy(compiler:c.POINTER[struct_ir3_compiler]) -> None: ...
@dll.bind(c.POINTER[struct_ir3_compiler], c.POINTER[struct_fd_device], c.POINTER[struct_fd_dev_id], c.POINTER[struct_fd_dev_info], c.POINTER[struct_ir3_compiler_options])
def ir3_compiler_create(dev:c.POINTER[struct_fd_device], dev_id:c.POINTER[struct_fd_dev_id], dev_info:c.POINTER[struct_fd_dev_info], options:c.POINTER[struct_ir3_compiler_options]) -> c.POINTER[struct_ir3_compiler]: ...
@dll.bind(None, c.POINTER[struct_ir3_compiler])
def ir3_disk_cache_init(compiler:c.POINTER[struct_ir3_compiler]) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_compiler], c.POINTER[struct_ir3_shader])
def ir3_disk_cache_init_shader_key(compiler:c.POINTER[struct_ir3_compiler], shader:c.POINTER[struct_ir3_shader]) -> None: ...
@c.record
class struct_ir3_shader_variant(c.Struct):
  SIZE = 2040
  bo: c.POINTER[struct_fd_bo]
  id: int
  shader_id: int
  key: struct_ir3_shader_key
  binning_pass: bool
  binning: c.POINTER[struct_ir3_shader_variant]
  nonbinning: c.POINTER[struct_ir3_shader_variant]
  ir: c.POINTER[struct_ir3]
  next: c.POINTER[struct_ir3_shader_variant]
  type: int
  compiler: c.POINTER[struct_ir3_compiler]
  name: c.POINTER[ctypes.c_char]
  constant_data: ctypes.c_void_p
  disasm_info: struct_ir3_disasm_info
  bin: c.POINTER[ctypes.c_uint32]
  const_state: c.POINTER[struct_ir3_const_state]
  imm_state: struct_ir3_imm_const_state
  info: struct_ir3_info
  sha1_str: c.Array[ctypes.c_char, Literal[41]]
  shader_options: struct_ir3_shader_options
  constant_data_size: int
  branchstack: int
  loops: int
  instrlen: int
  constlen: int
  pvtmem_size: int
  pvtmem_per_wave: bool
  multi_pos_output: bool
  dual_src_blend: bool
  early_preamble: bool
  shared_size: int
  frag_face: bool
  color0_mrt: bool
  fragcoord_compmask: int
  outputs_count: int
  outputs: c.Array[struct_ir3_shader_output, Literal[34]]
  writes_pos: bool
  writes_smask: bool
  writes_psize: bool
  writes_viewport: bool
  writes_stencilref: bool
  writes_shading_rate: bool
  output_size: int
  input_size: int
  output_loc: c.Array[ctypes.c_uint32, Literal[45]]
  inputs_count: int
  inputs: c.Array[struct_ir3_shader_variant_input, Literal[34]]
  reads_primid: bool
  reads_shading_rate: bool
  reads_smask: bool
  total_in: int
  sysval_in: int
  varying_in: int
  image_mapping: struct_ir3_ibo_mapping
  num_samp: int
  fb_read: bool
  has_ssbo: bool
  bindless_tex: bool
  bindless_samp: bool
  bindless_ibo: bool
  bindless_ubo: bool
  need_pixlod: bool
  need_full_quad: bool
  need_driver_params: bool
  no_earlyz: bool
  has_kill: bool
  per_samp: bool
  post_depth_coverage: bool
  empty: bool
  writes_only_color: bool
  mergedregs: bool
  clip_mask: int
  cull_mask: int
  astc_srgb: struct_ir3_shader_variant_astc_srgb
  tg4: struct_ir3_shader_variant_tg4
  num_sampler_prefetch: int
  sampler_prefetch: c.Array[struct_ir3_sampler_prefetch, Literal[4]]
  prefetch_bary_type: int
  prefetch_end_of_quad: bool
  local_size: c.Array[ctypes.c_uint16, Literal[3]]
  local_size_variable: bool
  has_barrier: bool
  num_ssbos: int
  num_uavs: int
  tess: struct_ir3_shader_variant_tess
  gs: struct_ir3_shader_variant_gs
  fs: struct_ir3_shader_variant_fs
  cs: struct_ir3_shader_variant_cs
  vtxid_base: int
  stream_output: struct_ir3_stream_output_info
@dll.bind(c.POINTER[struct_ir3_shader_variant], c.POINTER[struct_blob_reader], c.POINTER[struct_ir3_compiler], ctypes.c_void_p)
def ir3_retrieve_variant(blob:c.POINTER[struct_blob_reader], compiler:c.POINTER[struct_ir3_compiler], mem_ctx:ctypes.c_void_p) -> c.POINTER[struct_ir3_shader_variant]: ...
@dll.bind(None, c.POINTER[struct_blob], c.POINTER[struct_ir3_shader_variant])
def ir3_store_variant(blob:c.POINTER[struct_blob], v:c.POINTER[struct_ir3_shader_variant]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_ir3_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_disk_cache_retrieve(shader:c.POINTER[struct_ir3_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(None, c.POINTER[struct_ir3_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_disk_cache_store(shader:c.POINTER[struct_ir3_shader], v:c.POINTER[struct_ir3_shader_variant]) -> None: ...
@dll.bind(c.POINTER[nir_shader_compiler_options], c.POINTER[struct_ir3_compiler])
def ir3_get_compiler_options(compiler:c.POINTER[struct_ir3_compiler]) -> c.POINTER[nir_shader_compiler_options]: ...
@dll.bind(ctypes.c_int32, c.POINTER[struct_ir3_compiler], c.POINTER[struct_ir3_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_compile_shader_nir(compiler:c.POINTER[struct_ir3_compiler], shader:c.POINTER[struct_ir3_shader], so:c.POINTER[struct_ir3_shader_variant]) -> int: ...
enum_ir3_shader_debug: dict[int, str] = {(IR3_DBG_SHADER_VS:=1): 'IR3_DBG_SHADER_VS', (IR3_DBG_SHADER_TCS:=2): 'IR3_DBG_SHADER_TCS', (IR3_DBG_SHADER_TES:=4): 'IR3_DBG_SHADER_TES', (IR3_DBG_SHADER_GS:=8): 'IR3_DBG_SHADER_GS', (IR3_DBG_SHADER_FS:=16): 'IR3_DBG_SHADER_FS', (IR3_DBG_SHADER_CS:=32): 'IR3_DBG_SHADER_CS', (IR3_DBG_DISASM:=64): 'IR3_DBG_DISASM', (IR3_DBG_OPTMSGS:=128): 'IR3_DBG_OPTMSGS', (IR3_DBG_FORCES2EN:=256): 'IR3_DBG_FORCES2EN', (IR3_DBG_NOUBOOPT:=512): 'IR3_DBG_NOUBOOPT', (IR3_DBG_NOFP16:=1024): 'IR3_DBG_NOFP16', (IR3_DBG_NOCACHE:=2048): 'IR3_DBG_NOCACHE', (IR3_DBG_SPILLALL:=4096): 'IR3_DBG_SPILLALL', (IR3_DBG_NOPREAMBLE:=8192): 'IR3_DBG_NOPREAMBLE', (IR3_DBG_SHADER_INTERNAL:=16384): 'IR3_DBG_SHADER_INTERNAL', (IR3_DBG_FULLSYNC:=32768): 'IR3_DBG_FULLSYNC', (IR3_DBG_FULLNOP:=65536): 'IR3_DBG_FULLNOP', (IR3_DBG_NOEARLYPREAMBLE:=131072): 'IR3_DBG_NOEARLYPREAMBLE', (IR3_DBG_NODESCPREFETCH:=262144): 'IR3_DBG_NODESCPREFETCH', (IR3_DBG_EXPANDRPT:=524288): 'IR3_DBG_EXPANDRPT', (IR3_DBG_ASM_ROUNDTRIP:=1048576): 'IR3_DBG_ASM_ROUNDTRIP', (IR3_DBG_SCHEDMSGS:=2097152): 'IR3_DBG_SCHEDMSGS', (IR3_DBG_RAMSGS:=4194304): 'IR3_DBG_RAMSGS', (IR3_DBG_NOALIASTEX:=8388608): 'IR3_DBG_NOALIASTEX', (IR3_DBG_NOALIASRT:=16777216): 'IR3_DBG_NOALIASRT'}
try: ir3_shader_debug = ctypes.c_uint32.in_dll(dll, 'ir3_shader_debug') # type: ignore
except (ValueError,AttributeError): pass
try: ir3_shader_override_path = c.POINTER[ctypes.c_char].in_dll(dll, 'ir3_shader_override_path') # type: ignore
except (ValueError,AttributeError): pass
@dll.bind(c.POINTER[ctypes.c_char])
def ir3_shader_debug_as_string() -> c.POINTER[ctypes.c_char]: ...
@c.record
class struct_ir3_driver_params_cs(c.Struct):
  SIZE = 64
  num_work_groups_x: int
  num_work_groups_y: int
  num_work_groups_z: int
  work_dim: int
  base_group_x: int
  base_group_y: int
  base_group_z: int
  subgroup_size: int
  local_group_size_x: int
  local_group_size_y: int
  local_group_size_z: int
  subgroup_id_shift: int
  workgroup_id_x: int
  workgroup_id_y: int
  workgroup_id_z: int
  __pad: int
struct_ir3_driver_params_cs.register_fields([('num_work_groups_x', uint32_t, 0), ('num_work_groups_y', uint32_t, 4), ('num_work_groups_z', uint32_t, 8), ('work_dim', uint32_t, 12), ('base_group_x', uint32_t, 16), ('base_group_y', uint32_t, 20), ('base_group_z', uint32_t, 24), ('subgroup_size', uint32_t, 28), ('local_group_size_x', uint32_t, 32), ('local_group_size_y', uint32_t, 36), ('local_group_size_z', uint32_t, 40), ('subgroup_id_shift', uint32_t, 44), ('workgroup_id_x', uint32_t, 48), ('workgroup_id_y', uint32_t, 52), ('workgroup_id_z', uint32_t, 56), ('__pad', uint32_t, 60)])
@c.record
class struct_ir3_driver_params_vs(c.Struct):
  SIZE = 160
  draw_id: int
  vtxid_base: int
  instid_base: int
  vtxcnt_max: int
  is_indexed_draw: int
  ucp: c.Array[struct_ir3_driver_params_vs_ucp, Literal[8]]
  __pad_37_39: c.Array[ctypes.c_uint32, Literal[3]]
@c.record
class struct_ir3_driver_params_vs_ucp(c.Struct):
  SIZE = 16
  x: int
  y: int
  z: int
  w: int
struct_ir3_driver_params_vs_ucp.register_fields([('x', uint32_t, 0), ('y', uint32_t, 4), ('z', uint32_t, 8), ('w', uint32_t, 12)])
struct_ir3_driver_params_vs.register_fields([('draw_id', uint32_t, 0), ('vtxid_base', uint32_t, 4), ('instid_base', uint32_t, 8), ('vtxcnt_max', uint32_t, 12), ('is_indexed_draw', uint32_t, 16), ('ucp', c.Array[struct_ir3_driver_params_vs_ucp, Literal[8]], 20), ('__pad_37_39', c.Array[uint32_t, Literal[3]], 148)])
@c.record
class struct_ir3_driver_params_tcs(c.Struct):
  SIZE = 32
  default_outer_level_x: int
  default_outer_level_y: int
  default_outer_level_z: int
  default_outer_level_w: int
  default_inner_level_x: int
  default_inner_level_y: int
  __pad_06_07: c.Array[ctypes.c_uint32, Literal[2]]
struct_ir3_driver_params_tcs.register_fields([('default_outer_level_x', uint32_t, 0), ('default_outer_level_y', uint32_t, 4), ('default_outer_level_z', uint32_t, 8), ('default_outer_level_w', uint32_t, 12), ('default_inner_level_x', uint32_t, 16), ('default_inner_level_y', uint32_t, 20), ('__pad_06_07', c.Array[uint32_t, Literal[2]], 24)])
@c.record
class struct_ir3_driver_params_fs(c.Struct):
  SIZE = 52
  subgroup_size: int
  __pad_01_03: c.Array[ctypes.c_uint32, Literal[3]]
  frag_invocation_count: int
  __pad_05_07: c.Array[ctypes.c_uint32, Literal[3]]
  frag_size: int
  __pad_09: int
  frag_offset: int
  __pad_11_12: c.Array[ctypes.c_uint32, Literal[2]]
struct_ir3_driver_params_fs.register_fields([('subgroup_size', uint32_t, 0), ('__pad_01_03', c.Array[uint32_t, Literal[3]], 4), ('frag_invocation_count', uint32_t, 16), ('__pad_05_07', c.Array[uint32_t, Literal[3]], 20), ('frag_size', uint32_t, 32), ('__pad_09', uint32_t, 36), ('frag_offset', uint32_t, 40), ('__pad_11_12', c.Array[uint32_t, Literal[2]], 44)])
enum_ir3_bary: dict[int, str] = {(IJ_PERSP_PIXEL:=0): 'IJ_PERSP_PIXEL', (IJ_PERSP_SAMPLE:=1): 'IJ_PERSP_SAMPLE', (IJ_PERSP_CENTROID:=2): 'IJ_PERSP_CENTROID', (IJ_PERSP_CENTER_RHW:=3): 'IJ_PERSP_CENTER_RHW', (IJ_LINEAR_PIXEL:=4): 'IJ_LINEAR_PIXEL', (IJ_LINEAR_CENTROID:=5): 'IJ_LINEAR_CENTROID', (IJ_LINEAR_SAMPLE:=6): 'IJ_LINEAR_SAMPLE', (IJ_COUNT:=7): 'IJ_COUNT'}
enum_ir3_wavesize_option: dict[int, str] = {(IR3_SINGLE_ONLY:=0): 'IR3_SINGLE_ONLY', (IR3_SINGLE_OR_DOUBLE:=1): 'IR3_SINGLE_OR_DOUBLE', (IR3_DOUBLE_ONLY:=2): 'IR3_DOUBLE_ONLY'}
@c.record
class struct_ir3_ubo_info(c.Struct):
  SIZE = 16
  global_base: c.POINTER[struct_nir_def]
  block: int
  bindless_base: int
  bindless: bool
  _global: bool
struct_ir3_ubo_info.register_fields([('global_base', c.POINTER[struct_nir_def], 0), ('block', uint32_t, 8), ('bindless_base', uint16_t, 12), ('bindless', ctypes.c_bool, 14), ('_global', ctypes.c_bool, 15)])
@c.record
class struct_ir3_ubo_range(c.Struct):
  SIZE = 32
  ubo: struct_ir3_ubo_info
  offset: int
  start: int
  end: int
struct_ir3_ubo_range.register_fields([('ubo', struct_ir3_ubo_info, 0), ('offset', uint32_t, 16), ('start', uint32_t, 20), ('end', uint32_t, 24)])
@c.record
class struct_ir3_ubo_analysis_state(c.Struct):
  SIZE = 1032
  range: c.Array[struct_ir3_ubo_range, Literal[32]]
  num_enabled: int
  size: int
struct_ir3_ubo_analysis_state.register_fields([('range', c.Array[struct_ir3_ubo_range, Literal[32]], 0), ('num_enabled', uint32_t, 1024), ('size', uint32_t, 1028)])
enum_ir3_push_consts_type: dict[int, str] = {(IR3_PUSH_CONSTS_NONE:=0): 'IR3_PUSH_CONSTS_NONE', (IR3_PUSH_CONSTS_PER_STAGE:=1): 'IR3_PUSH_CONSTS_PER_STAGE', (IR3_PUSH_CONSTS_SHARED:=2): 'IR3_PUSH_CONSTS_SHARED', (IR3_PUSH_CONSTS_SHARED_PREAMBLE:=3): 'IR3_PUSH_CONSTS_SHARED_PREAMBLE'}
@c.record
class struct_ir3_driver_ubo(c.Struct):
  SIZE = 8
  idx: int
  size: int
struct_ir3_driver_ubo.register_fields([('idx', int32_t, 0), ('size', uint32_t, 4)])
enum_ir3_const_alloc_type: dict[int, str] = {(IR3_CONST_ALLOC_PUSH_CONSTS:=0): 'IR3_CONST_ALLOC_PUSH_CONSTS', (IR3_CONST_ALLOC_DYN_DESCRIPTOR_OFFSET:=1): 'IR3_CONST_ALLOC_DYN_DESCRIPTOR_OFFSET', (IR3_CONST_ALLOC_INLINE_UNIFORM_ADDRS:=2): 'IR3_CONST_ALLOC_INLINE_UNIFORM_ADDRS', (IR3_CONST_ALLOC_DRIVER_PARAMS:=3): 'IR3_CONST_ALLOC_DRIVER_PARAMS', (IR3_CONST_ALLOC_UBO_RANGES:=4): 'IR3_CONST_ALLOC_UBO_RANGES', (IR3_CONST_ALLOC_PREAMBLE:=5): 'IR3_CONST_ALLOC_PREAMBLE', (IR3_CONST_ALLOC_GLOBAL:=6): 'IR3_CONST_ALLOC_GLOBAL', (IR3_CONST_ALLOC_UBO_PTRS:=7): 'IR3_CONST_ALLOC_UBO_PTRS', (IR3_CONST_ALLOC_IMAGE_DIMS:=8): 'IR3_CONST_ALLOC_IMAGE_DIMS', (IR3_CONST_ALLOC_TFBO:=9): 'IR3_CONST_ALLOC_TFBO', (IR3_CONST_ALLOC_PRIMITIVE_PARAM:=10): 'IR3_CONST_ALLOC_PRIMITIVE_PARAM', (IR3_CONST_ALLOC_PRIMITIVE_MAP:=11): 'IR3_CONST_ALLOC_PRIMITIVE_MAP', (IR3_CONST_ALLOC_MAX:=12): 'IR3_CONST_ALLOC_MAX'}
@c.record
class struct_ir3_const_allocation(c.Struct):
  SIZE = 16
  offset_vec4: int
  size_vec4: int
  reserved_size_vec4: int
  reserved_align_vec4: int
struct_ir3_const_allocation.register_fields([('offset_vec4', uint32_t, 0), ('size_vec4', uint32_t, 4), ('reserved_size_vec4', uint32_t, 8), ('reserved_align_vec4', uint32_t, 12)])
@c.record
class struct_ir3_const_allocations(c.Struct):
  SIZE = 200
  consts: c.Array[struct_ir3_const_allocation, Literal[12]]
  max_const_offset_vec4: int
  reserved_vec4: int
struct_ir3_const_allocations.register_fields([('consts', c.Array[struct_ir3_const_allocation, Literal[12]], 0), ('max_const_offset_vec4', uint32_t, 192), ('reserved_vec4', uint32_t, 196)])
@c.record
class struct_ir3_const_image_dims(c.Struct):
  SIZE = 136
  mask: int
  count: int
  off: c.Array[ctypes.c_uint32, Literal[32]]
struct_ir3_const_image_dims.register_fields([('mask', uint32_t, 0), ('count', uint32_t, 4), ('off', c.Array[uint32_t, Literal[32]], 8)])
@c.record
class struct_ir3_imm_const_state(c.Struct):
  SIZE = 16
  size: int
  count: int
  values: c.POINTER[ctypes.c_uint32]
struct_ir3_imm_const_state.register_fields([('size', ctypes.c_uint32, 0), ('count', ctypes.c_uint32, 4), ('values', c.POINTER[uint32_t], 8)])
@c.record
class struct_ir3_const_state(c.Struct):
  SIZE = 1424
  num_ubos: int
  num_app_ubos: int
  num_driver_params: int
  consts_ubo: struct_ir3_driver_ubo
  driver_params_ubo: struct_ir3_driver_ubo
  primitive_map_ubo: struct_ir3_driver_ubo
  primitive_param_ubo: struct_ir3_driver_ubo
  allocs: struct_ir3_const_allocations
  image_dims: struct_ir3_const_image_dims
  ubo_state: struct_ir3_ubo_analysis_state
  push_consts_type: int
struct_ir3_const_state.register_fields([('num_ubos', ctypes.c_uint32, 0), ('num_app_ubos', ctypes.c_uint32, 4), ('num_driver_params', ctypes.c_uint32, 8), ('consts_ubo', struct_ir3_driver_ubo, 12), ('driver_params_ubo', struct_ir3_driver_ubo, 20), ('primitive_map_ubo', struct_ir3_driver_ubo, 28), ('primitive_param_ubo', struct_ir3_driver_ubo, 36), ('allocs', struct_ir3_const_allocations, 44), ('image_dims', struct_ir3_const_image_dims, 244), ('ubo_state', struct_ir3_ubo_analysis_state, 384), ('push_consts_type', ctypes.c_uint32, 1416)])
@c.record
class struct_ir3_stream_output(c.Struct):
  SIZE = 4
  register_index: int
  start_component: int
  num_components: int
  output_buffer: int
  dst_offset: int
  stream: int
struct_ir3_stream_output.register_fields([('register_index', ctypes.c_uint32, 0, 6, 0), ('start_component', ctypes.c_uint32, 0, 2, 6), ('num_components', ctypes.c_uint32, 1, 3, 0), ('output_buffer', ctypes.c_uint32, 1, 3, 3), ('dst_offset', ctypes.c_uint32, 1, 16, 6), ('stream', ctypes.c_uint32, 3, 2, 6)])
@c.record
class struct_ir3_stream_output_info(c.Struct):
  SIZE = 532
  num_outputs: int
  stride: c.Array[ctypes.c_uint16, Literal[4]]
  streams_written: int
  buffer_to_stream: c.Array[ctypes.c_ubyte, Literal[4]]
  output: c.Array[struct_ir3_stream_output, Literal[128]]
struct_ir3_stream_output_info.register_fields([('num_outputs', ctypes.c_uint32, 0), ('stride', c.Array[uint16_t, Literal[4]], 4), ('streams_written', uint8_t, 12), ('buffer_to_stream', c.Array[uint8_t, Literal[4]], 13), ('output', c.Array[struct_ir3_stream_output, Literal[128]], 20)])
@c.record
class struct_ir3_sampler_prefetch(c.Struct):
  SIZE = 16
  src: int
  bindless: bool
  samp_id: int
  tex_id: int
  samp_bindless_id: int
  tex_bindless_id: int
  dst: int
  wrmask: int
  half_precision: int
  tex_opc: int
opc_t: dict[int, str] = {(OPC_NOP:=0): 'OPC_NOP', (OPC_JUMP:=2): 'OPC_JUMP', (OPC_CALL:=3): 'OPC_CALL', (OPC_RET:=4): 'OPC_RET', (OPC_KILL:=5): 'OPC_KILL', (OPC_END:=6): 'OPC_END', (OPC_EMIT:=7): 'OPC_EMIT', (OPC_CUT:=8): 'OPC_CUT', (OPC_CHMASK:=9): 'OPC_CHMASK', (OPC_CHSH:=10): 'OPC_CHSH', (OPC_FLOW_REV:=11): 'OPC_FLOW_REV', (OPC_BKT:=16): 'OPC_BKT', (OPC_STKS:=17): 'OPC_STKS', (OPC_STKR:=18): 'OPC_STKR', (OPC_XSET:=19): 'OPC_XSET', (OPC_XCLR:=20): 'OPC_XCLR', (OPC_GETONE:=21): 'OPC_GETONE', (OPC_DBG:=22): 'OPC_DBG', (OPC_SHPS:=23): 'OPC_SHPS', (OPC_SHPE:=24): 'OPC_SHPE', (OPC_GETLAST:=25): 'OPC_GETLAST', (OPC_PREDT:=29): 'OPC_PREDT', (OPC_PREDF:=30): 'OPC_PREDF', (OPC_PREDE:=31): 'OPC_PREDE', (OPC_BR:=40): 'OPC_BR', (OPC_BRAO:=41): 'OPC_BRAO', (OPC_BRAA:=42): 'OPC_BRAA', (OPC_BRAC:=43): 'OPC_BRAC', (OPC_BANY:=44): 'OPC_BANY', (OPC_BALL:=45): 'OPC_BALL', (OPC_BRAX:=46): 'OPC_BRAX', (OPC_DEMOTE:=47): 'OPC_DEMOTE', (OPC_MOV:=128): 'OPC_MOV', (OPC_MOVP:=129): 'OPC_MOVP', (OPC_MOVS:=130): 'OPC_MOVS', (OPC_MOVMSK:=131): 'OPC_MOVMSK', (OPC_SWZ:=132): 'OPC_SWZ', (OPC_GAT:=133): 'OPC_GAT', (OPC_SCT:=134): 'OPC_SCT', (OPC_MOV_IMMED:=168): 'OPC_MOV_IMMED', (OPC_MOV_CONST:=169): 'OPC_MOV_CONST', (OPC_MOV_GPR:=170): 'OPC_MOV_GPR', (OPC_MOV_RELGPR:=171): 'OPC_MOV_RELGPR', (OPC_MOV_RELCONST:=172): 'OPC_MOV_RELCONST', (OPC_MOVS_IMMED:=173): 'OPC_MOVS_IMMED', (OPC_MOVS_A0:=174): 'OPC_MOVS_A0', (OPC_BALLOT_MACRO:=178): 'OPC_BALLOT_MACRO', (OPC_ANY_MACRO:=179): 'OPC_ANY_MACRO', (OPC_ALL_MACRO:=180): 'OPC_ALL_MACRO', (OPC_ELECT_MACRO:=181): 'OPC_ELECT_MACRO', (OPC_READ_COND_MACRO:=182): 'OPC_READ_COND_MACRO', (OPC_READ_FIRST_MACRO:=183): 'OPC_READ_FIRST_MACRO', (OPC_SHPS_MACRO:=184): 'OPC_SHPS_MACRO', (OPC_READ_GETLAST_MACRO:=185): 'OPC_READ_GETLAST_MACRO', (OPC_SCAN_MACRO:=186): 'OPC_SCAN_MACRO', (OPC_SCAN_CLUSTERS_MACRO:=188): 'OPC_SCAN_CLUSTERS_MACRO', (OPC_ADD_F:=256): 'OPC_ADD_F', (OPC_MIN_F:=257): 'OPC_MIN_F', (OPC_MAX_F:=258): 'OPC_MAX_F', (OPC_MUL_F:=259): 'OPC_MUL_F', (OPC_SIGN_F:=260): 'OPC_SIGN_F', (OPC_CMPS_F:=261): 'OPC_CMPS_F', (OPC_ABSNEG_F:=262): 'OPC_ABSNEG_F', (OPC_CMPV_F:=263): 'OPC_CMPV_F', (OPC_FLOOR_F:=265): 'OPC_FLOOR_F', (OPC_CEIL_F:=266): 'OPC_CEIL_F', (OPC_RNDNE_F:=267): 'OPC_RNDNE_F', (OPC_RNDAZ_F:=268): 'OPC_RNDAZ_F', (OPC_TRUNC_F:=269): 'OPC_TRUNC_F', (OPC_ADD_U:=272): 'OPC_ADD_U', (OPC_ADD_S:=273): 'OPC_ADD_S', (OPC_SUB_U:=274): 'OPC_SUB_U', (OPC_SUB_S:=275): 'OPC_SUB_S', (OPC_CMPS_U:=276): 'OPC_CMPS_U', (OPC_CMPS_S:=277): 'OPC_CMPS_S', (OPC_MIN_U:=278): 'OPC_MIN_U', (OPC_MIN_S:=279): 'OPC_MIN_S', (OPC_MAX_U:=280): 'OPC_MAX_U', (OPC_MAX_S:=281): 'OPC_MAX_S', (OPC_ABSNEG_S:=282): 'OPC_ABSNEG_S', (OPC_AND_B:=284): 'OPC_AND_B', (OPC_OR_B:=285): 'OPC_OR_B', (OPC_NOT_B:=286): 'OPC_NOT_B', (OPC_XOR_B:=287): 'OPC_XOR_B', (OPC_CMPV_U:=289): 'OPC_CMPV_U', (OPC_CMPV_S:=290): 'OPC_CMPV_S', (OPC_MUL_U24:=304): 'OPC_MUL_U24', (OPC_MUL_S24:=305): 'OPC_MUL_S24', (OPC_MULL_U:=306): 'OPC_MULL_U', (OPC_BFREV_B:=307): 'OPC_BFREV_B', (OPC_CLZ_S:=308): 'OPC_CLZ_S', (OPC_CLZ_B:=309): 'OPC_CLZ_B', (OPC_SHL_B:=310): 'OPC_SHL_B', (OPC_SHR_B:=311): 'OPC_SHR_B', (OPC_ASHR_B:=312): 'OPC_ASHR_B', (OPC_BARY_F:=313): 'OPC_BARY_F', (OPC_MGEN_B:=314): 'OPC_MGEN_B', (OPC_GETBIT_B:=315): 'OPC_GETBIT_B', (OPC_SETRM:=316): 'OPC_SETRM', (OPC_CBITS_B:=317): 'OPC_CBITS_B', (OPC_SHB:=318): 'OPC_SHB', (OPC_MSAD:=319): 'OPC_MSAD', (OPC_FLAT_B:=320): 'OPC_FLAT_B', (OPC_MAD_U16:=384): 'OPC_MAD_U16', (OPC_MADSH_U16:=385): 'OPC_MADSH_U16', (OPC_MAD_S16:=386): 'OPC_MAD_S16', (OPC_MADSH_M16:=387): 'OPC_MADSH_M16', (OPC_MAD_U24:=388): 'OPC_MAD_U24', (OPC_MAD_S24:=389): 'OPC_MAD_S24', (OPC_MAD_F16:=390): 'OPC_MAD_F16', (OPC_MAD_F32:=391): 'OPC_MAD_F32', (OPC_SEL_B16:=392): 'OPC_SEL_B16', (OPC_SEL_B32:=393): 'OPC_SEL_B32', (OPC_SEL_S16:=394): 'OPC_SEL_S16', (OPC_SEL_S32:=395): 'OPC_SEL_S32', (OPC_SEL_F16:=396): 'OPC_SEL_F16', (OPC_SEL_F32:=397): 'OPC_SEL_F32', (OPC_SAD_S16:=398): 'OPC_SAD_S16', (OPC_SAD_S32:=399): 'OPC_SAD_S32', (OPC_SHRM:=400): 'OPC_SHRM', (OPC_SHLM:=401): 'OPC_SHLM', (OPC_SHRG:=402): 'OPC_SHRG', (OPC_SHLG:=403): 'OPC_SHLG', (OPC_ANDG:=404): 'OPC_ANDG', (OPC_DP2ACC:=405): 'OPC_DP2ACC', (OPC_DP4ACC:=406): 'OPC_DP4ACC', (OPC_WMM:=407): 'OPC_WMM', (OPC_WMM_ACCU:=408): 'OPC_WMM_ACCU', (OPC_RCP:=512): 'OPC_RCP', (OPC_RSQ:=513): 'OPC_RSQ', (OPC_LOG2:=514): 'OPC_LOG2', (OPC_EXP2:=515): 'OPC_EXP2', (OPC_SIN:=516): 'OPC_SIN', (OPC_COS:=517): 'OPC_COS', (OPC_SQRT:=518): 'OPC_SQRT', (OPC_HRSQ:=521): 'OPC_HRSQ', (OPC_HLOG2:=522): 'OPC_HLOG2', (OPC_HEXP2:=523): 'OPC_HEXP2', (OPC_ISAM:=640): 'OPC_ISAM', (OPC_ISAML:=641): 'OPC_ISAML', (OPC_ISAMM:=642): 'OPC_ISAMM', (OPC_SAM:=643): 'OPC_SAM', (OPC_SAMB:=644): 'OPC_SAMB', (OPC_SAML:=645): 'OPC_SAML', (OPC_SAMGQ:=646): 'OPC_SAMGQ', (OPC_GETLOD:=647): 'OPC_GETLOD', (OPC_CONV:=648): 'OPC_CONV', (OPC_CONVM:=649): 'OPC_CONVM', (OPC_GETSIZE:=650): 'OPC_GETSIZE', (OPC_GETBUF:=651): 'OPC_GETBUF', (OPC_GETPOS:=652): 'OPC_GETPOS', (OPC_GETINFO:=653): 'OPC_GETINFO', (OPC_DSX:=654): 'OPC_DSX', (OPC_DSY:=655): 'OPC_DSY', (OPC_GATHER4R:=656): 'OPC_GATHER4R', (OPC_GATHER4G:=657): 'OPC_GATHER4G', (OPC_GATHER4B:=658): 'OPC_GATHER4B', (OPC_GATHER4A:=659): 'OPC_GATHER4A', (OPC_SAMGP0:=660): 'OPC_SAMGP0', (OPC_SAMGP1:=661): 'OPC_SAMGP1', (OPC_SAMGP2:=662): 'OPC_SAMGP2', (OPC_SAMGP3:=663): 'OPC_SAMGP3', (OPC_DSXPP_1:=664): 'OPC_DSXPP_1', (OPC_DSYPP_1:=665): 'OPC_DSYPP_1', (OPC_RGETPOS:=666): 'OPC_RGETPOS', (OPC_RGETINFO:=667): 'OPC_RGETINFO', (OPC_BRCST_ACTIVE:=668): 'OPC_BRCST_ACTIVE', (OPC_QUAD_SHUFFLE_BRCST:=669): 'OPC_QUAD_SHUFFLE_BRCST', (OPC_QUAD_SHUFFLE_HORIZ:=670): 'OPC_QUAD_SHUFFLE_HORIZ', (OPC_QUAD_SHUFFLE_VERT:=671): 'OPC_QUAD_SHUFFLE_VERT', (OPC_QUAD_SHUFFLE_DIAG:=672): 'OPC_QUAD_SHUFFLE_DIAG', (OPC_TCINV:=673): 'OPC_TCINV', (OPC_DSXPP_MACRO:=675): 'OPC_DSXPP_MACRO', (OPC_DSYPP_MACRO:=676): 'OPC_DSYPP_MACRO', (OPC_LDG:=768): 'OPC_LDG', (OPC_LDL:=769): 'OPC_LDL', (OPC_LDP:=770): 'OPC_LDP', (OPC_STG:=771): 'OPC_STG', (OPC_STL:=772): 'OPC_STL', (OPC_STP:=773): 'OPC_STP', (OPC_LDIB:=774): 'OPC_LDIB', (OPC_G2L:=775): 'OPC_G2L', (OPC_L2G:=776): 'OPC_L2G', (OPC_PREFETCH:=777): 'OPC_PREFETCH', (OPC_LDLW:=778): 'OPC_LDLW', (OPC_STLW:=779): 'OPC_STLW', (OPC_RESFMT:=782): 'OPC_RESFMT', (OPC_RESINFO:=783): 'OPC_RESINFO', (OPC_ATOMIC_ADD:=784): 'OPC_ATOMIC_ADD', (OPC_ATOMIC_SUB:=785): 'OPC_ATOMIC_SUB', (OPC_ATOMIC_XCHG:=786): 'OPC_ATOMIC_XCHG', (OPC_ATOMIC_INC:=787): 'OPC_ATOMIC_INC', (OPC_ATOMIC_DEC:=788): 'OPC_ATOMIC_DEC', (OPC_ATOMIC_CMPXCHG:=789): 'OPC_ATOMIC_CMPXCHG', (OPC_ATOMIC_MIN:=790): 'OPC_ATOMIC_MIN', (OPC_ATOMIC_MAX:=791): 'OPC_ATOMIC_MAX', (OPC_ATOMIC_AND:=792): 'OPC_ATOMIC_AND', (OPC_ATOMIC_OR:=793): 'OPC_ATOMIC_OR', (OPC_ATOMIC_XOR:=794): 'OPC_ATOMIC_XOR', (OPC_LDGB:=795): 'OPC_LDGB', (OPC_STGB:=796): 'OPC_STGB', (OPC_STIB:=797): 'OPC_STIB', (OPC_LDC:=798): 'OPC_LDC', (OPC_LDLV:=799): 'OPC_LDLV', (OPC_PIPR:=800): 'OPC_PIPR', (OPC_PIPC:=801): 'OPC_PIPC', (OPC_EMIT2:=802): 'OPC_EMIT2', (OPC_ENDLS:=803): 'OPC_ENDLS', (OPC_GETSPID:=804): 'OPC_GETSPID', (OPC_GETWID:=805): 'OPC_GETWID', (OPC_GETFIBERID:=806): 'OPC_GETFIBERID', (OPC_SHFL:=807): 'OPC_SHFL', (OPC_STC:=808): 'OPC_STC', (OPC_RESINFO_B:=809): 'OPC_RESINFO_B', (OPC_LDIB_B:=810): 'OPC_LDIB_B', (OPC_STIB_B:=811): 'OPC_STIB_B', (OPC_ATOMIC_B_ADD:=812): 'OPC_ATOMIC_B_ADD', (OPC_ATOMIC_B_SUB:=813): 'OPC_ATOMIC_B_SUB', (OPC_ATOMIC_B_XCHG:=814): 'OPC_ATOMIC_B_XCHG', (OPC_ATOMIC_B_INC:=815): 'OPC_ATOMIC_B_INC', (OPC_ATOMIC_B_DEC:=816): 'OPC_ATOMIC_B_DEC', (OPC_ATOMIC_B_CMPXCHG:=817): 'OPC_ATOMIC_B_CMPXCHG', (OPC_ATOMIC_B_MIN:=818): 'OPC_ATOMIC_B_MIN', (OPC_ATOMIC_B_MAX:=819): 'OPC_ATOMIC_B_MAX', (OPC_ATOMIC_B_AND:=820): 'OPC_ATOMIC_B_AND', (OPC_ATOMIC_B_OR:=821): 'OPC_ATOMIC_B_OR', (OPC_ATOMIC_B_XOR:=822): 'OPC_ATOMIC_B_XOR', (OPC_ATOMIC_S_ADD:=823): 'OPC_ATOMIC_S_ADD', (OPC_ATOMIC_S_SUB:=824): 'OPC_ATOMIC_S_SUB', (OPC_ATOMIC_S_XCHG:=825): 'OPC_ATOMIC_S_XCHG', (OPC_ATOMIC_S_INC:=826): 'OPC_ATOMIC_S_INC', (OPC_ATOMIC_S_DEC:=827): 'OPC_ATOMIC_S_DEC', (OPC_ATOMIC_S_CMPXCHG:=828): 'OPC_ATOMIC_S_CMPXCHG', (OPC_ATOMIC_S_MIN:=829): 'OPC_ATOMIC_S_MIN', (OPC_ATOMIC_S_MAX:=830): 'OPC_ATOMIC_S_MAX', (OPC_ATOMIC_S_AND:=831): 'OPC_ATOMIC_S_AND', (OPC_ATOMIC_S_OR:=832): 'OPC_ATOMIC_S_OR', (OPC_ATOMIC_S_XOR:=833): 'OPC_ATOMIC_S_XOR', (OPC_ATOMIC_G_ADD:=834): 'OPC_ATOMIC_G_ADD', (OPC_ATOMIC_G_SUB:=835): 'OPC_ATOMIC_G_SUB', (OPC_ATOMIC_G_XCHG:=836): 'OPC_ATOMIC_G_XCHG', (OPC_ATOMIC_G_INC:=837): 'OPC_ATOMIC_G_INC', (OPC_ATOMIC_G_DEC:=838): 'OPC_ATOMIC_G_DEC', (OPC_ATOMIC_G_CMPXCHG:=839): 'OPC_ATOMIC_G_CMPXCHG', (OPC_ATOMIC_G_MIN:=840): 'OPC_ATOMIC_G_MIN', (OPC_ATOMIC_G_MAX:=841): 'OPC_ATOMIC_G_MAX', (OPC_ATOMIC_G_AND:=842): 'OPC_ATOMIC_G_AND', (OPC_ATOMIC_G_OR:=843): 'OPC_ATOMIC_G_OR', (OPC_ATOMIC_G_XOR:=844): 'OPC_ATOMIC_G_XOR', (OPC_LDG_A:=845): 'OPC_LDG_A', (OPC_STG_A:=846): 'OPC_STG_A', (OPC_SPILL_MACRO:=847): 'OPC_SPILL_MACRO', (OPC_RELOAD_MACRO:=848): 'OPC_RELOAD_MACRO', (OPC_LDC_K:=849): 'OPC_LDC_K', (OPC_STSC:=850): 'OPC_STSC', (OPC_LDG_K:=851): 'OPC_LDG_K', (OPC_PUSH_CONSTS_LOAD_MACRO:=852): 'OPC_PUSH_CONSTS_LOAD_MACRO', (OPC_RAY_INTERSECTION:=858): 'OPC_RAY_INTERSECTION', (OPC_RESBASE:=859): 'OPC_RESBASE', (OPC_BAR:=896): 'OPC_BAR', (OPC_FENCE:=897): 'OPC_FENCE', (OPC_SLEEP:=898): 'OPC_SLEEP', (OPC_ICINV:=899): 'OPC_ICINV', (OPC_DCCLN:=900): 'OPC_DCCLN', (OPC_DCINV:=901): 'OPC_DCINV', (OPC_DCFLU:=902): 'OPC_DCFLU', (OPC_LOCK:=903): 'OPC_LOCK', (OPC_UNLOCK:=904): 'OPC_UNLOCK', (OPC_ALIAS:=905): 'OPC_ALIAS', (OPC_CCINV:=906): 'OPC_CCINV', (OPC_META_INPUT:=1024): 'OPC_META_INPUT', (OPC_META_SPLIT:=1026): 'OPC_META_SPLIT', (OPC_META_COLLECT:=1027): 'OPC_META_COLLECT', (OPC_META_TEX_PREFETCH:=1028): 'OPC_META_TEX_PREFETCH', (OPC_META_PARALLEL_COPY:=1029): 'OPC_META_PARALLEL_COPY', (OPC_META_PHI:=1030): 'OPC_META_PHI', (OPC_META_RAW:=1031): 'OPC_META_RAW'}
struct_ir3_sampler_prefetch.register_fields([('src', uint8_t, 0), ('bindless', ctypes.c_bool, 1), ('samp_id', uint8_t, 2), ('tex_id', uint8_t, 3), ('samp_bindless_id', uint16_t, 4), ('tex_bindless_id', uint16_t, 6), ('dst', uint8_t, 8), ('wrmask', uint8_t, 9), ('half_precision', uint8_t, 10), ('tex_opc', ctypes.c_uint32, 12)])
@c.record
class struct_ir3_shader_key(c.Struct):
  SIZE = 80
  ucp_enables: int
  has_per_samp: int
  sample_shading: int
  msaa: int
  rasterflat: int
  tessellation: int
  has_gs: int
  tcs_store_primid: int
  safe_constlen: int
  force_dual_color_blend: int
  _global: int
  vsamples: int
  fsamples: int
  vastc_srgb: int
  fastc_srgb: int
  vsampler_swizzles: c.Array[ctypes.c_uint16, Literal[16]]
  fsampler_swizzles: c.Array[ctypes.c_uint16, Literal[16]]
struct_ir3_shader_key.register_fields([('ucp_enables', ctypes.c_uint32, 0, 8, 0), ('has_per_samp', ctypes.c_uint32, 1, 1, 0), ('sample_shading', ctypes.c_uint32, 1, 1, 1), ('msaa', ctypes.c_uint32, 1, 1, 2), ('rasterflat', ctypes.c_uint32, 1, 1, 3), ('tessellation', ctypes.c_uint32, 1, 2, 4), ('has_gs', ctypes.c_uint32, 1, 1, 6), ('tcs_store_primid', ctypes.c_uint32, 1, 1, 7), ('safe_constlen', ctypes.c_uint32, 2, 1, 0), ('force_dual_color_blend', ctypes.c_uint32, 2, 1, 1), ('_global', uint32_t, 0), ('vsamples', uint32_t, 4), ('fsamples', uint32_t, 8), ('vastc_srgb', uint16_t, 12), ('fastc_srgb', uint16_t, 14), ('vsampler_swizzles', c.Array[uint16_t, Literal[16]], 16), ('fsampler_swizzles', c.Array[uint16_t, Literal[16]], 48)])
@c.record
class struct_ir3_ibo_mapping(c.Struct):
  SIZE = 98
  ssbo_to_tex: c.Array[ctypes.c_ubyte, Literal[32]]
  image_to_tex: c.Array[ctypes.c_ubyte, Literal[32]]
  tex_to_image: c.Array[ctypes.c_ubyte, Literal[32]]
  num_tex: int
  tex_base: int
struct_ir3_ibo_mapping.register_fields([('ssbo_to_tex', c.Array[uint8_t, Literal[32]], 0), ('image_to_tex', c.Array[uint8_t, Literal[32]], 32), ('tex_to_image', c.Array[uint8_t, Literal[32]], 64), ('num_tex', uint8_t, 96), ('tex_base', uint8_t, 97)])
@c.record
class struct_ir3_disasm_info(c.Struct):
  SIZE = 24
  write_disasm: bool
  nir: c.POINTER[ctypes.c_char]
  disasm: c.POINTER[ctypes.c_char]
struct_ir3_disasm_info.register_fields([('write_disasm', ctypes.c_bool, 0), ('nir', c.POINTER[ctypes.c_char], 8), ('disasm', c.POINTER[ctypes.c_char], 16)])
@c.record
class struct_ir3_shader_nir_options(c.Struct):
  SIZE = 4
  robust_modes: int
struct_ir3_shader_nir_options.register_fields([('robust_modes', ctypes.c_uint32, 0)])
@c.record
class struct_ir3_shader_options(c.Struct):
  SIZE = 228
  api_wavesize: int
  real_wavesize: int
  push_consts_type: int
  push_consts_base: int
  push_consts_dwords: int
  const_allocs: struct_ir3_const_allocations
  nir_options: struct_ir3_shader_nir_options
  fragdata_dynamic_remap: bool
struct_ir3_shader_options.register_fields([('api_wavesize', ctypes.c_uint32, 0), ('real_wavesize', ctypes.c_uint32, 4), ('push_consts_type', ctypes.c_uint32, 8), ('push_consts_base', uint32_t, 12), ('push_consts_dwords', uint32_t, 16), ('const_allocs', struct_ir3_const_allocations, 20), ('nir_options', struct_ir3_shader_nir_options, 220), ('fragdata_dynamic_remap', ctypes.c_bool, 224)])
@c.record
class struct_ir3_shader_output(c.Struct):
  SIZE = 4
  slot: int
  regid: int
  view: int
  aliased_components: int
  half: bool
struct_ir3_shader_output.register_fields([('slot', uint8_t, 0), ('regid', uint8_t, 1), ('view', uint8_t, 2), ('aliased_components', uint8_t, 3, 4, 0), ('half', ctypes.c_bool, 3, 1, 4)])
class struct_fd_bo(c.Struct): pass
@c.record
class struct_ir3(c.Struct):
  SIZE = 152
  compiler: c.POINTER[struct_ir3_compiler]
  type: int
  inputs_count: int
  inputs_sz: int
  inputs: c.POINTER[c.POINTER[struct_ir3_instruction]]
  baryfs_count: int
  baryfs_sz: int
  baryfs: c.POINTER[c.POINTER[struct_ir3_instruction]]
  a0_users_count: int
  a0_users_sz: int
  a0_users: c.POINTER[c.POINTER[struct_ir3_instruction]]
  a1_users_count: int
  a1_users_sz: int
  a1_users: c.POINTER[c.POINTER[struct_ir3_instruction]]
  astc_srgb_count: int
  astc_srgb_sz: int
  astc_srgb: c.POINTER[c.POINTER[struct_ir3_instruction]]
  tg4_count: int
  tg4_sz: int
  tg4: c.POINTER[c.POINTER[struct_ir3_instruction]]
  block_list: struct_list_head
  array_list: struct_list_head
  instr_count: int
@c.record
class struct_ir3_instruction(c.Struct):
  SIZE = 184
  block: c.POINTER[struct_ir3_block]
  opc: int
  flags: int
  repeat: int
  nop: int
  srcs_count: int
  dsts_count: int
  dsts: c.POINTER[c.POINTER[struct_ir3_register]]
  srcs: c.POINTER[c.POINTER[struct_ir3_register]]
  cat0: struct_ir3_instruction_cat0
  cat1: struct_ir3_instruction_cat1
  cat2: struct_ir3_instruction_cat2
  cat3: struct_ir3_instruction_cat3
  cat5: struct_ir3_instruction_cat5
  cat6: struct_ir3_instruction_cat6
  cat7: struct_ir3_instruction_cat7
  split: struct_ir3_instruction_split
  end: struct_ir3_instruction_end
  phi: struct_ir3_instruction_phi
  prefetch: struct_ir3_instruction_prefetch
  input: struct_ir3_instruction_input
  push_consts: struct_ir3_instruction_push_consts
  raw: struct_ir3_instruction_raw
  ip: int
  data: ctypes.c_void_p
  uses: c.POINTER[struct_set]
  use_count: int
  address: c.POINTER[struct_ir3_register]
  deps_count: int
  deps_sz: int
  deps: c.POINTER[c.POINTER[struct_ir3_instruction]]
  barrier_class: int
  barrier_conflict: int
  node: struct_list_head
  rpt_node: struct_list_head
  serialno: int
  line: int
@c.record
class struct_ir3_block(c.Struct):
  SIZE = 200
  node: struct_list_head
  shader: c.POINTER[struct_ir3]
  nblock: c.POINTER[struct_nir_block]
  instr_list: struct_list_head
  successors: c.Array[c.POINTER[struct_ir3_block], Literal[2]]
  divergent_condition: bool
  predecessors_count: int
  predecessors_sz: int
  predecessors: c.POINTER[c.POINTER[struct_ir3_block]]
  physical_predecessors_count: int
  physical_predecessors_sz: int
  physical_predecessors: c.POINTER[c.POINTER[struct_ir3_block]]
  physical_successors_count: int
  physical_successors_sz: int
  physical_successors: c.POINTER[c.POINTER[struct_ir3_block]]
  start_ip: int
  end_ip: int
  reconvergence_point: bool
  in_early_preamble: bool
  keeps_count: int
  keeps_sz: int
  keeps: c.POINTER[c.POINTER[struct_ir3_instruction]]
  data: ctypes.c_void_p
  index: int
  imm_dom: c.POINTER[struct_ir3_block]
  dom_children_count: int
  dom_children_sz: int
  dom_children: c.POINTER[c.POINTER[struct_ir3_block]]
  dom_pre_index: int
  dom_post_index: int
  loop_depth: int
struct_ir3_block.register_fields([('node', struct_list_head, 0), ('shader', c.POINTER[struct_ir3], 16), ('nblock', c.POINTER[struct_nir_block], 24), ('instr_list', struct_list_head, 32), ('successors', c.Array[c.POINTER[struct_ir3_block], Literal[2]], 48), ('divergent_condition', ctypes.c_bool, 64), ('predecessors_count', ctypes.c_uint32, 68), ('predecessors_sz', ctypes.c_uint32, 72), ('predecessors', c.POINTER[c.POINTER[struct_ir3_block]], 80), ('physical_predecessors_count', ctypes.c_uint32, 88), ('physical_predecessors_sz', ctypes.c_uint32, 92), ('physical_predecessors', c.POINTER[c.POINTER[struct_ir3_block]], 96), ('physical_successors_count', ctypes.c_uint32, 104), ('physical_successors_sz', ctypes.c_uint32, 108), ('physical_successors', c.POINTER[c.POINTER[struct_ir3_block]], 112), ('start_ip', uint16_t, 120), ('end_ip', uint16_t, 122), ('reconvergence_point', ctypes.c_bool, 124), ('in_early_preamble', ctypes.c_bool, 125), ('keeps_count', ctypes.c_uint32, 128), ('keeps_sz', ctypes.c_uint32, 132), ('keeps', c.POINTER[c.POINTER[struct_ir3_instruction]], 136), ('data', ctypes.c_void_p, 144), ('index', uint32_t, 152), ('imm_dom', c.POINTER[struct_ir3_block], 160), ('dom_children_count', ctypes.c_uint32, 168), ('dom_children_sz', ctypes.c_uint32, 172), ('dom_children', c.POINTER[c.POINTER[struct_ir3_block]], 176), ('dom_pre_index', uint32_t, 184), ('dom_post_index', uint32_t, 188), ('loop_depth', uint32_t, 192)])
enum_ir3_instruction_flags: dict[int, str] = {(IR3_INSTR_SY:=1): 'IR3_INSTR_SY', (IR3_INSTR_SS:=2): 'IR3_INSTR_SS', (IR3_INSTR_JP:=4): 'IR3_INSTR_JP', (IR3_INSTR_EQ:=8): 'IR3_INSTR_EQ', (IR3_INSTR_UL:=16): 'IR3_INSTR_UL', (IR3_INSTR_3D:=32): 'IR3_INSTR_3D', (IR3_INSTR_A:=64): 'IR3_INSTR_A', (IR3_INSTR_O:=128): 'IR3_INSTR_O', (IR3_INSTR_P:=256): 'IR3_INSTR_P', (IR3_INSTR_S:=512): 'IR3_INSTR_S', (IR3_INSTR_S2EN:=1024): 'IR3_INSTR_S2EN', (IR3_INSTR_SAT:=2048): 'IR3_INSTR_SAT', (IR3_INSTR_B:=4096): 'IR3_INSTR_B', (IR3_INSTR_NONUNIF:=8192): 'IR3_INSTR_NONUNIF', (IR3_INSTR_A1EN:=16384): 'IR3_INSTR_A1EN', (IR3_INSTR_U:=32768): 'IR3_INSTR_U', (IR3_INSTR_MARK:=65536): 'IR3_INSTR_MARK', (IR3_INSTR_SHARED_SPILL:=65536): 'IR3_INSTR_SHARED_SPILL', (IR3_INSTR_UNUSED:=131072): 'IR3_INSTR_UNUSED', (IR3_INSTR_NEEDS_HELPERS:=262144): 'IR3_INSTR_NEEDS_HELPERS', (IR3_INSTR_V:=524288): 'IR3_INSTR_V', (IR3_INSTR_INV_1D:=1048576): 'IR3_INSTR_INV_1D', (IR3_INSTR_IMM_OFFSET:=2097152): 'IR3_INSTR_IMM_OFFSET'}
@c.record
class struct_ir3_register(c.Struct):
  SIZE = 80
  flags: int
  name: int
  wrmask: int
  size: int
  num: int
  iim_val: int
  uim_val: int
  fim_val: float
  array: struct_ir3_register_array
  instr: c.POINTER[struct_ir3_instruction]
  _def: c.POINTER[struct_ir3_register]
  tied: c.POINTER[struct_ir3_register]
  spill_slot: int
  next_use: int
  merge_set_offset: int
  merge_set: c.POINTER[struct_ir3_merge_set]
  interval_start: int
  interval_end: int
enum_ir3_register_flags: dict[int, str] = {(IR3_REG_CONST:=1): 'IR3_REG_CONST', (IR3_REG_IMMED:=2): 'IR3_REG_IMMED', (IR3_REG_HALF:=4): 'IR3_REG_HALF', (IR3_REG_SHARED:=8): 'IR3_REG_SHARED', (IR3_REG_RELATIV:=16): 'IR3_REG_RELATIV', (IR3_REG_R:=32): 'IR3_REG_R', (IR3_REG_FNEG:=64): 'IR3_REG_FNEG', (IR3_REG_FABS:=128): 'IR3_REG_FABS', (IR3_REG_SNEG:=256): 'IR3_REG_SNEG', (IR3_REG_SABS:=512): 'IR3_REG_SABS', (IR3_REG_BNOT:=1024): 'IR3_REG_BNOT', (IR3_REG_EI:=2048): 'IR3_REG_EI', (IR3_REG_SSA:=4096): 'IR3_REG_SSA', (IR3_REG_ARRAY:=8192): 'IR3_REG_ARRAY', (IR3_REG_KILL:=16384): 'IR3_REG_KILL', (IR3_REG_FIRST_KILL:=32768): 'IR3_REG_FIRST_KILL', (IR3_REG_UNUSED:=65536): 'IR3_REG_UNUSED', (IR3_REG_EARLY_CLOBBER:=131072): 'IR3_REG_EARLY_CLOBBER', (IR3_REG_LAST_USE:=262144): 'IR3_REG_LAST_USE', (IR3_REG_PREDICATE:=524288): 'IR3_REG_PREDICATE', (IR3_REG_RT:=1048576): 'IR3_REG_RT', (IR3_REG_ALIAS:=2097152): 'IR3_REG_ALIAS', (IR3_REG_FIRST_ALIAS:=4194304): 'IR3_REG_FIRST_ALIAS'}
@c.record
class struct_ir3_register_array(c.Struct):
  SIZE = 6
  id: int
  offset: int
  base: int
struct_ir3_register_array.register_fields([('id', uint16_t, 0), ('offset', int16_t, 2), ('base', uint16_t, 4)])
@c.record
class struct_ir3_merge_set(c.Struct):
  SIZE = 32
  preferred_reg: int
  size: int
  alignment: int
  interval_start: int
  spill_slot: int
  regs_count: int
  regs: c.POINTER[c.POINTER[struct_ir3_register]]
struct_ir3_merge_set.register_fields([('preferred_reg', uint16_t, 0), ('size', uint16_t, 2), ('alignment', uint16_t, 4), ('interval_start', ctypes.c_uint32, 8), ('spill_slot', ctypes.c_uint32, 12), ('regs_count', ctypes.c_uint32, 16), ('regs', c.POINTER[c.POINTER[struct_ir3_register]], 24)])
struct_ir3_register.register_fields([('flags', ctypes.c_uint32, 0), ('name', ctypes.c_uint32, 4), ('wrmask', ctypes.c_uint32, 8, 16, 0), ('size', ctypes.c_uint32, 10, 16, 0), ('num', uint16_t, 12), ('iim_val', int32_t, 16), ('uim_val', uint32_t, 16), ('fim_val', ctypes.c_float, 16), ('array', struct_ir3_register_array, 16), ('instr', c.POINTER[struct_ir3_instruction], 24), ('_def', c.POINTER[struct_ir3_register], 32), ('tied', c.POINTER[struct_ir3_register], 40), ('spill_slot', ctypes.c_uint32, 48), ('next_use', ctypes.c_uint32, 52), ('merge_set_offset', ctypes.c_uint32, 56), ('merge_set', c.POINTER[struct_ir3_merge_set], 64), ('interval_start', ctypes.c_uint32, 72), ('interval_end', ctypes.c_uint32, 76)])
@c.record
class struct_ir3_instruction_cat0(c.Struct):
  SIZE = 32
  inv1: bytes
  inv2: bytes
  immed: int
  target: c.POINTER[struct_ir3_block]
  target_label: c.POINTER[ctypes.c_char]
  idx: int
struct_ir3_instruction_cat0.register_fields([('inv1', ctypes.c_char, 0), ('inv2', ctypes.c_char, 1), ('immed', ctypes.c_int32, 4), ('target', c.POINTER[struct_ir3_block], 8), ('target_label', c.POINTER[ctypes.c_char], 16), ('idx', ctypes.c_uint32, 24)])
@c.record
class struct_ir3_instruction_cat1(c.Struct):
  SIZE = 16
  src_type: int
  dst_type: int
  round: int
  reduce_op: int
round_t: dict[int, str] = {(ROUND_ZERO:=0): 'ROUND_ZERO', (ROUND_EVEN:=1): 'ROUND_EVEN', (ROUND_POS_INF:=2): 'ROUND_POS_INF', (ROUND_NEG_INF:=3): 'ROUND_NEG_INF'}
reduce_op_t: dict[int, str] = {(REDUCE_OP_ADD_U:=0): 'REDUCE_OP_ADD_U', (REDUCE_OP_ADD_F:=1): 'REDUCE_OP_ADD_F', (REDUCE_OP_MUL_U:=2): 'REDUCE_OP_MUL_U', (REDUCE_OP_MUL_F:=3): 'REDUCE_OP_MUL_F', (REDUCE_OP_MIN_U:=4): 'REDUCE_OP_MIN_U', (REDUCE_OP_MIN_S:=5): 'REDUCE_OP_MIN_S', (REDUCE_OP_MIN_F:=6): 'REDUCE_OP_MIN_F', (REDUCE_OP_MAX_U:=7): 'REDUCE_OP_MAX_U', (REDUCE_OP_MAX_S:=8): 'REDUCE_OP_MAX_S', (REDUCE_OP_MAX_F:=9): 'REDUCE_OP_MAX_F', (REDUCE_OP_AND_B:=10): 'REDUCE_OP_AND_B', (REDUCE_OP_OR_B:=11): 'REDUCE_OP_OR_B', (REDUCE_OP_XOR_B:=12): 'REDUCE_OP_XOR_B'}
struct_ir3_instruction_cat1.register_fields([('src_type', ctypes.c_uint32, 0), ('dst_type', ctypes.c_uint32, 4), ('round', ctypes.c_uint32, 8), ('reduce_op', ctypes.c_uint32, 12)])
@c.record
class struct_ir3_instruction_cat2(c.Struct):
  SIZE = 4
  condition: int
struct_ir3_instruction_cat2_condition: dict[int, str] = {(IR3_COND_LT:=0): 'IR3_COND_LT', (IR3_COND_LE:=1): 'IR3_COND_LE', (IR3_COND_GT:=2): 'IR3_COND_GT', (IR3_COND_GE:=3): 'IR3_COND_GE', (IR3_COND_EQ:=4): 'IR3_COND_EQ', (IR3_COND_NE:=5): 'IR3_COND_NE'}
struct_ir3_instruction_cat2.register_fields([('condition', ctypes.c_uint32, 0)])
@c.record
class struct_ir3_instruction_cat3(c.Struct):
  SIZE = 12
  signedness: int
  packed: int
  swapped: bool
struct_ir3_instruction_cat3_signedness: dict[int, str] = {(IR3_SRC_UNSIGNED:=0): 'IR3_SRC_UNSIGNED', (IR3_SRC_MIXED:=1): 'IR3_SRC_MIXED'}
struct_ir3_instruction_cat3_packed: dict[int, str] = {(IR3_SRC_PACKED_LOW:=0): 'IR3_SRC_PACKED_LOW', (IR3_SRC_PACKED_HIGH:=1): 'IR3_SRC_PACKED_HIGH'}
struct_ir3_instruction_cat3.register_fields([('signedness', ctypes.c_uint32, 0), ('packed', ctypes.c_uint32, 4), ('swapped', ctypes.c_bool, 8)])
@c.record
class struct_ir3_instruction_cat5(c.Struct):
  SIZE = 16
  samp: int
  tex: int
  tex_base: int
  cluster_size: int
  type: int
struct_ir3_instruction_cat5.register_fields([('samp', ctypes.c_uint32, 0), ('tex', ctypes.c_uint32, 4), ('tex_base', ctypes.c_uint32, 8, 3, 0), ('cluster_size', ctypes.c_uint32, 8, 4, 3), ('type', ctypes.c_uint32, 12)])
@c.record
class struct_ir3_instruction_cat6(c.Struct):
  SIZE = 16
  type: int
  dst_offset: int
  iim_val: int
  d: int
  typed: bool
  base: int
  shfl_mode: int
ir3_shfl_mode: dict[int, str] = {(SHFL_XOR:=1): 'SHFL_XOR', (SHFL_UP:=2): 'SHFL_UP', (SHFL_DOWN:=3): 'SHFL_DOWN', (SHFL_RUP:=6): 'SHFL_RUP', (SHFL_RDOWN:=7): 'SHFL_RDOWN'}
struct_ir3_instruction_cat6.register_fields([('type', ctypes.c_uint32, 0), ('dst_offset', ctypes.c_int32, 4), ('iim_val', ctypes.c_int32, 8), ('d', ctypes.c_uint32, 12, 3, 0), ('typed', ctypes.c_bool, 12, 1, 3), ('base', ctypes.c_uint32, 12, 3, 4), ('shfl_mode', ctypes.c_uint32, 12, 3, 7)])
@c.record
class struct_ir3_instruction_cat7(c.Struct):
  SIZE = 16
  w: int
  r: int
  l: int
  g: int
  alias_scope: int
  alias_table_size_minus_one: int
  alias_type_float: bool
ir3_alias_scope: dict[int, str] = {(ALIAS_TEX:=0): 'ALIAS_TEX', (ALIAS_RT:=1): 'ALIAS_RT', (ALIAS_MEM:=2): 'ALIAS_MEM'}
struct_ir3_instruction_cat7.register_fields([('w', ctypes.c_uint32, 0, 1, 0), ('r', ctypes.c_uint32, 0, 1, 1), ('l', ctypes.c_uint32, 0, 1, 2), ('g', ctypes.c_uint32, 0, 1, 3), ('alias_scope', ctypes.c_uint32, 4), ('alias_table_size_minus_one', ctypes.c_uint32, 8), ('alias_type_float', ctypes.c_bool, 12)])
@c.record
class struct_ir3_instruction_split(c.Struct):
  SIZE = 4
  off: int
struct_ir3_instruction_split.register_fields([('off', ctypes.c_int32, 0)])
@c.record
class struct_ir3_instruction_end(c.Struct):
  SIZE = 8
  outidxs: c.POINTER[ctypes.c_uint32]
struct_ir3_instruction_end.register_fields([('outidxs', c.POINTER[ctypes.c_uint32], 0)])
@c.record
class struct_ir3_instruction_phi(c.Struct):
  SIZE = 16
  nphi: ctypes.c_void_p
  comp: int
struct_ir3_instruction_phi.register_fields([('nphi', ctypes.c_void_p, 0), ('comp', ctypes.c_uint32, 8)])
@c.record
class struct_ir3_instruction_prefetch(c.Struct):
  SIZE = 16
  samp: int
  tex: int
  input_offset: int
  samp_base: int
  tex_base: int
struct_ir3_instruction_prefetch.register_fields([('samp', ctypes.c_uint32, 0), ('tex', ctypes.c_uint32, 4), ('input_offset', ctypes.c_uint32, 8), ('samp_base', ctypes.c_uint32, 12, 3, 0), ('tex_base', ctypes.c_uint32, 12, 3, 3)])
@c.record
class struct_ir3_instruction_input(c.Struct):
  SIZE = 8
  inidx: int
  sysval: int
struct_ir3_instruction_input.register_fields([('inidx', ctypes.c_int32, 0), ('sysval', ctypes.c_uint32, 4)])
@c.record
class struct_ir3_instruction_push_consts(c.Struct):
  SIZE = 12
  src_base: int
  src_size: int
  dst_base: int
struct_ir3_instruction_push_consts.register_fields([('src_base', ctypes.c_uint32, 0), ('src_size', ctypes.c_uint32, 4), ('dst_base', ctypes.c_uint32, 8)])
@c.record
class struct_ir3_instruction_raw(c.Struct):
  SIZE = 8
  value: int
struct_ir3_instruction_raw.register_fields([('value', uint64_t, 0)])
struct_ir3_instruction_barrier_class: dict[int, str] = {(IR3_BARRIER_EVERYTHING:=1): 'IR3_BARRIER_EVERYTHING', (IR3_BARRIER_SHARED_R:=2): 'IR3_BARRIER_SHARED_R', (IR3_BARRIER_SHARED_W:=4): 'IR3_BARRIER_SHARED_W', (IR3_BARRIER_IMAGE_R:=8): 'IR3_BARRIER_IMAGE_R', (IR3_BARRIER_IMAGE_W:=16): 'IR3_BARRIER_IMAGE_W', (IR3_BARRIER_BUFFER_R:=32): 'IR3_BARRIER_BUFFER_R', (IR3_BARRIER_BUFFER_W:=64): 'IR3_BARRIER_BUFFER_W', (IR3_BARRIER_ARRAY_R:=128): 'IR3_BARRIER_ARRAY_R', (IR3_BARRIER_ARRAY_W:=256): 'IR3_BARRIER_ARRAY_W', (IR3_BARRIER_PRIVATE_R:=512): 'IR3_BARRIER_PRIVATE_R', (IR3_BARRIER_PRIVATE_W:=1024): 'IR3_BARRIER_PRIVATE_W', (IR3_BARRIER_CONST_W:=2048): 'IR3_BARRIER_CONST_W', (IR3_BARRIER_ACTIVE_FIBERS_R:=4096): 'IR3_BARRIER_ACTIVE_FIBERS_R', (IR3_BARRIER_ACTIVE_FIBERS_W:=8192): 'IR3_BARRIER_ACTIVE_FIBERS_W'}
struct_ir3_instruction.register_fields([('block', c.POINTER[struct_ir3_block], 0), ('opc', ctypes.c_uint32, 8), ('flags', ctypes.c_uint32, 12), ('repeat', uint8_t, 16), ('nop', uint8_t, 17), ('srcs_count', ctypes.c_uint32, 20), ('dsts_count', ctypes.c_uint32, 24), ('dsts', c.POINTER[c.POINTER[struct_ir3_register]], 32), ('srcs', c.POINTER[c.POINTER[struct_ir3_register]], 40), ('cat0', struct_ir3_instruction_cat0, 48), ('cat1', struct_ir3_instruction_cat1, 48), ('cat2', struct_ir3_instruction_cat2, 48), ('cat3', struct_ir3_instruction_cat3, 48), ('cat5', struct_ir3_instruction_cat5, 48), ('cat6', struct_ir3_instruction_cat6, 48), ('cat7', struct_ir3_instruction_cat7, 48), ('split', struct_ir3_instruction_split, 48), ('end', struct_ir3_instruction_end, 48), ('phi', struct_ir3_instruction_phi, 48), ('prefetch', struct_ir3_instruction_prefetch, 48), ('input', struct_ir3_instruction_input, 48), ('push_consts', struct_ir3_instruction_push_consts, 48), ('raw', struct_ir3_instruction_raw, 48), ('ip', uint32_t, 80), ('data', ctypes.c_void_p, 88), ('uses', c.POINTER[struct_set], 96), ('use_count', ctypes.c_int32, 104), ('address', c.POINTER[struct_ir3_register], 112), ('deps_count', ctypes.c_uint32, 120), ('deps_sz', ctypes.c_uint32, 124), ('deps', c.POINTER[c.POINTER[struct_ir3_instruction]], 128), ('barrier_class', ctypes.c_uint32, 136), ('barrier_conflict', ctypes.c_uint32, 140), ('node', struct_list_head, 144), ('rpt_node', struct_list_head, 160), ('serialno', uint32_t, 176), ('line', ctypes.c_int32, 180)])
struct_ir3.register_fields([('compiler', c.POINTER[struct_ir3_compiler], 0), ('type', gl_shader_stage, 8), ('inputs_count', ctypes.c_uint32, 12), ('inputs_sz', ctypes.c_uint32, 16), ('inputs', c.POINTER[c.POINTER[struct_ir3_instruction]], 24), ('baryfs_count', ctypes.c_uint32, 32), ('baryfs_sz', ctypes.c_uint32, 36), ('baryfs', c.POINTER[c.POINTER[struct_ir3_instruction]], 40), ('a0_users_count', ctypes.c_uint32, 48), ('a0_users_sz', ctypes.c_uint32, 52), ('a0_users', c.POINTER[c.POINTER[struct_ir3_instruction]], 56), ('a1_users_count', ctypes.c_uint32, 64), ('a1_users_sz', ctypes.c_uint32, 68), ('a1_users', c.POINTER[c.POINTER[struct_ir3_instruction]], 72), ('astc_srgb_count', ctypes.c_uint32, 80), ('astc_srgb_sz', ctypes.c_uint32, 84), ('astc_srgb', c.POINTER[c.POINTER[struct_ir3_instruction]], 88), ('tg4_count', ctypes.c_uint32, 96), ('tg4_sz', ctypes.c_uint32, 100), ('tg4', c.POINTER[c.POINTER[struct_ir3_instruction]], 104), ('block_list', struct_list_head, 112), ('array_list', struct_list_head, 128), ('instr_count', ctypes.c_uint32, 144)])
@c.record
class struct_ir3_info(c.Struct):
  SIZE = 64
  size: int
  constant_data_offset: int
  sizedwords: int
  instrs_count: int
  preamble_instrs_count: int
  nops_count: int
  mov_count: int
  cov_count: int
  stp_count: int
  ldp_count: int
  max_reg: int
  max_half_reg: int
  max_const: int
  max_waves: int
  subgroup_size: int
  double_threadsize: bool
  multi_dword_ldp_stp: bool
  early_preamble: bool
  uses_ray_intersection: bool
  ss: int
  sy: int
  sstall: int
  systall: int
  last_baryf: int
  last_helper: int
  instrs_per_cat: c.Array[ctypes.c_uint16, Literal[8]]
struct_ir3_info.register_fields([('size', uint32_t, 0), ('constant_data_offset', uint32_t, 4), ('sizedwords', uint16_t, 8), ('instrs_count', uint16_t, 10), ('preamble_instrs_count', uint16_t, 12), ('nops_count', uint16_t, 14), ('mov_count', uint16_t, 16), ('cov_count', uint16_t, 18), ('stp_count', uint16_t, 20), ('ldp_count', uint16_t, 22), ('max_reg', int8_t, 24), ('max_half_reg', int8_t, 25), ('max_const', int16_t, 26), ('max_waves', int8_t, 28), ('subgroup_size', uint8_t, 29), ('double_threadsize', ctypes.c_bool, 30), ('multi_dword_ldp_stp', ctypes.c_bool, 31), ('early_preamble', ctypes.c_bool, 32), ('uses_ray_intersection', ctypes.c_bool, 33), ('ss', uint16_t, 34), ('sy', uint16_t, 36), ('sstall', uint16_t, 38), ('systall', uint16_t, 40), ('last_baryf', uint16_t, 42), ('last_helper', uint16_t, 44), ('instrs_per_cat', c.Array[uint16_t, Literal[8]], 46)])
@c.record
class struct_ir3_shader_variant_input(c.Struct):
  SIZE = 5
  slot: int
  regid: int
  compmask: int
  inloc: int
  sysval: bool
  bary: bool
  rasterflat: bool
  half: bool
  flat: bool
struct_ir3_shader_variant_input.register_fields([('slot', uint8_t, 0), ('regid', uint8_t, 1), ('compmask', uint8_t, 2), ('inloc', uint8_t, 3), ('sysval', ctypes.c_bool, 4, 1, 0), ('bary', ctypes.c_bool, 4, 1, 1), ('rasterflat', ctypes.c_bool, 4, 1, 2), ('half', ctypes.c_bool, 4, 1, 3), ('flat', ctypes.c_bool, 4, 1, 4)])
@c.record
class struct_ir3_shader_variant_astc_srgb(c.Struct):
  SIZE = 72
  base: int
  count: int
  orig_idx: c.Array[ctypes.c_uint32, Literal[16]]
struct_ir3_shader_variant_astc_srgb.register_fields([('base', ctypes.c_uint32, 0), ('count', ctypes.c_uint32, 4), ('orig_idx', c.Array[ctypes.c_uint32, Literal[16]], 8)])
@c.record
class struct_ir3_shader_variant_tg4(c.Struct):
  SIZE = 72
  base: int
  count: int
  orig_idx: c.Array[ctypes.c_uint32, Literal[16]]
struct_ir3_shader_variant_tg4.register_fields([('base', ctypes.c_uint32, 0), ('count', ctypes.c_uint32, 4), ('orig_idx', c.Array[ctypes.c_uint32, Literal[16]], 8)])
@c.record
class struct_ir3_shader_variant_tess(c.Struct):
  SIZE = 8
  primitive_mode: int
  tcs_vertices_out: int
  spacing: int
  ccw: bool
  point_mode: bool
enum_gl_tess_spacing: dict[int, str] = {(TESS_SPACING_UNSPECIFIED:=0): 'TESS_SPACING_UNSPECIFIED', (TESS_SPACING_EQUAL:=1): 'TESS_SPACING_EQUAL', (TESS_SPACING_FRACTIONAL_ODD:=2): 'TESS_SPACING_FRACTIONAL_ODD', (TESS_SPACING_FRACTIONAL_EVEN:=3): 'TESS_SPACING_FRACTIONAL_EVEN'}
struct_ir3_shader_variant_tess.register_fields([('primitive_mode', ctypes.c_uint32, 0), ('tcs_vertices_out', uint8_t, 4), ('spacing', ctypes.c_uint32, 5, 2, 0), ('ccw', ctypes.c_bool, 5, 1, 2), ('point_mode', ctypes.c_bool, 5, 1, 3)])
@c.record
class struct_ir3_shader_variant_gs(c.Struct):
  SIZE = 6
  output_primitive: int
  vertices_out: int
  invocations: int
  vertices_in: int
struct_ir3_shader_variant_gs.register_fields([('output_primitive', uint16_t, 0), ('vertices_out', uint16_t, 2), ('invocations', uint8_t, 4), ('vertices_in', uint8_t, 5, 3, 0)])
@c.record
class struct_ir3_shader_variant_fs(c.Struct):
  SIZE = 8
  early_fragment_tests: bool
  color_is_dual_source: bool
  uses_fbfetch_output: bool
  fbfetch_coherent: bool
  depth_layout: int
struct_ir3_shader_variant_fs.register_fields([('early_fragment_tests', ctypes.c_bool, 0, 1, 0), ('color_is_dual_source', ctypes.c_bool, 0, 1, 1), ('uses_fbfetch_output', ctypes.c_bool, 0, 1, 2), ('fbfetch_coherent', ctypes.c_bool, 0, 1, 3), ('depth_layout', ctypes.c_uint32, 4)])
@c.record
class struct_ir3_shader_variant_cs(c.Struct):
  SIZE = 16
  req_local_mem: int
  force_linear_dispatch: bool
  local_invocation_id: int
  work_group_id: int
struct_ir3_shader_variant_cs.register_fields([('req_local_mem', ctypes.c_uint32, 0), ('force_linear_dispatch', ctypes.c_bool, 4), ('local_invocation_id', uint32_t, 8), ('work_group_id', uint32_t, 12)])
struct_ir3_shader_variant.register_fields([('bo', c.POINTER[struct_fd_bo], 0), ('id', uint32_t, 8), ('shader_id', uint32_t, 12), ('key', struct_ir3_shader_key, 16), ('binning_pass', ctypes.c_bool, 96), ('binning', c.POINTER[struct_ir3_shader_variant], 104), ('nonbinning', c.POINTER[struct_ir3_shader_variant], 112), ('ir', c.POINTER[struct_ir3], 120), ('next', c.POINTER[struct_ir3_shader_variant], 128), ('type', gl_shader_stage, 136), ('compiler', c.POINTER[struct_ir3_compiler], 144), ('name', c.POINTER[ctypes.c_char], 152), ('constant_data', ctypes.c_void_p, 160), ('disasm_info', struct_ir3_disasm_info, 168), ('bin', c.POINTER[uint32_t], 192), ('const_state', c.POINTER[struct_ir3_const_state], 200), ('imm_state', struct_ir3_imm_const_state, 208), ('info', struct_ir3_info, 224), ('sha1_str', c.Array[ctypes.c_char, Literal[41]], 288), ('shader_options', struct_ir3_shader_options, 332), ('constant_data_size', uint32_t, 560), ('branchstack', ctypes.c_uint32, 564), ('loops', ctypes.c_uint32, 568), ('instrlen', ctypes.c_uint32, 572), ('constlen', ctypes.c_uint32, 576), ('pvtmem_size', ctypes.c_uint32, 580), ('pvtmem_per_wave', ctypes.c_bool, 584), ('multi_pos_output', ctypes.c_bool, 585), ('dual_src_blend', ctypes.c_bool, 586), ('early_preamble', ctypes.c_bool, 587), ('shared_size', ctypes.c_uint32, 588), ('frag_face', ctypes.c_bool, 592), ('color0_mrt', ctypes.c_bool, 593), ('fragcoord_compmask', uint8_t, 594), ('outputs_count', ctypes.c_uint32, 596), ('outputs', c.Array[struct_ir3_shader_output, Literal[34]], 600), ('writes_pos', ctypes.c_bool, 736), ('writes_smask', ctypes.c_bool, 737), ('writes_psize', ctypes.c_bool, 738), ('writes_viewport', ctypes.c_bool, 739), ('writes_stencilref', ctypes.c_bool, 740), ('writes_shading_rate', ctypes.c_bool, 741), ('output_size', uint32_t, 744), ('input_size', uint32_t, 748), ('output_loc', c.Array[ctypes.c_uint32, Literal[45]], 752), ('inputs_count', ctypes.c_uint32, 932), ('inputs', c.Array[struct_ir3_shader_variant_input, Literal[34]], 936), ('reads_primid', ctypes.c_bool, 1106), ('reads_shading_rate', ctypes.c_bool, 1107), ('reads_smask', ctypes.c_bool, 1108), ('total_in', ctypes.c_uint32, 1112), ('sysval_in', ctypes.c_uint32, 1116), ('varying_in', ctypes.c_uint32, 1120), ('image_mapping', struct_ir3_ibo_mapping, 1124), ('num_samp', ctypes.c_int32, 1224), ('fb_read', ctypes.c_bool, 1228), ('has_ssbo', ctypes.c_bool, 1229), ('bindless_tex', ctypes.c_bool, 1230), ('bindless_samp', ctypes.c_bool, 1231), ('bindless_ibo', ctypes.c_bool, 1232), ('bindless_ubo', ctypes.c_bool, 1233), ('need_pixlod', ctypes.c_bool, 1234), ('need_full_quad', ctypes.c_bool, 1235), ('need_driver_params', ctypes.c_bool, 1236), ('no_earlyz', ctypes.c_bool, 1237), ('has_kill', ctypes.c_bool, 1238), ('per_samp', ctypes.c_bool, 1239), ('post_depth_coverage', ctypes.c_bool, 1240), ('empty', ctypes.c_bool, 1241), ('writes_only_color', ctypes.c_bool, 1242), ('mergedregs', ctypes.c_bool, 1243), ('clip_mask', uint8_t, 1244), ('cull_mask', uint8_t, 1245), ('astc_srgb', struct_ir3_shader_variant_astc_srgb, 1248), ('tg4', struct_ir3_shader_variant_tg4, 1320), ('num_sampler_prefetch', uint32_t, 1392), ('sampler_prefetch', c.Array[struct_ir3_sampler_prefetch, Literal[4]], 1396), ('prefetch_bary_type', ctypes.c_uint32, 1460), ('prefetch_end_of_quad', ctypes.c_bool, 1464), ('local_size', c.Array[uint16_t, Literal[3]], 1466), ('local_size_variable', ctypes.c_bool, 1472), ('has_barrier', ctypes.c_bool, 1473), ('num_ssbos', ctypes.c_uint32, 1476), ('num_uavs', ctypes.c_uint32, 1480), ('tess', struct_ir3_shader_variant_tess, 1484), ('gs', struct_ir3_shader_variant_gs, 1484), ('fs', struct_ir3_shader_variant_fs, 1484), ('cs', struct_ir3_shader_variant_cs, 1484), ('vtxid_base', uint32_t, 1500), ('stream_output', struct_ir3_stream_output_info, 1504)])
@c.record
class struct_ir3_shader_cs(c.Struct):
  SIZE = 8
  req_local_mem: int
  force_linear_dispatch: bool
struct_ir3_shader_cs.register_fields([('req_local_mem', ctypes.c_uint32, 0), ('force_linear_dispatch', ctypes.c_bool, 4)])
@c.record
class struct_ir3_shader_vs(c.Struct):
  SIZE = 264
  passthrough_tcs_compiled: int
  passthrough_tcs: c.Array[c.POINTER[struct_ir3_shader], Literal[32]]
struct_ir3_shader_vs.register_fields([('passthrough_tcs_compiled', ctypes.c_uint32, 0), ('passthrough_tcs', c.Array[c.POINTER[struct_ir3_shader], Literal[32]], 8)])
@c.record
class pthread_mutex_t(c.Struct):
  SIZE = 40
  __data: struct___pthread_mutex_s
  __size: c.Array[ctypes.c_char, Literal[40]]
  __align: int
mtx_t: TypeAlias = pthread_mutex_t
@c.record
class struct___pthread_mutex_s(c.Struct):
  SIZE = 40
  __lock: int
  __count: int
  __owner: int
  __nusers: int
  __kind: int
  __spins: int
  __elision: int
  __list: struct___pthread_internal_list
@c.record
class struct___pthread_internal_list(c.Struct):
  SIZE = 16
  __prev: c.POINTER[struct___pthread_internal_list]
  __next: c.POINTER[struct___pthread_internal_list]
__pthread_list_t: TypeAlias = struct___pthread_internal_list
struct___pthread_internal_list.register_fields([('__prev', c.POINTER[struct___pthread_internal_list], 0), ('__next', c.POINTER[struct___pthread_internal_list], 8)])
struct___pthread_mutex_s.register_fields([('__lock', ctypes.c_int32, 0), ('__count', ctypes.c_uint32, 4), ('__owner', ctypes.c_int32, 8), ('__nusers', ctypes.c_uint32, 12), ('__kind', ctypes.c_int32, 16), ('__spins', ctypes.c_int16, 20), ('__elision', ctypes.c_int16, 22), ('__list', struct___pthread_internal_list, 24)])
pthread_mutex_t.register_fields([('__data', struct___pthread_mutex_s, 0), ('__size', c.Array[ctypes.c_char, Literal[40]], 0), ('__align', ctypes.c_int64, 0)])
cache_key: TypeAlias = c.Array[ctypes.c_ubyte, Literal[20]]
struct_ir3_shader.register_fields([('type', gl_shader_stage, 0), ('id', uint32_t, 4), ('variant_count', uint32_t, 8), ('initial_variants_done', ctypes.c_bool, 12), ('compiler', c.POINTER[struct_ir3_compiler], 16), ('options', struct_ir3_shader_options, 24), ('nir_finalized', ctypes.c_bool, 252), ('nir', c.POINTER[struct_nir_shader], 256), ('stream_output', struct_ir3_stream_output_info, 264), ('cs', struct_ir3_shader_cs, 800), ('vs', struct_ir3_shader_vs, 800), ('variants', c.POINTER[struct_ir3_shader_variant], 1064), ('variants_lock', mtx_t, 1072), ('cache_key', cache_key, 1112), ('key_mask', struct_ir3_shader_key, 1132)])
@dll.bind(ctypes.c_bool, c.POINTER[struct_ir3_shader_variant], ctypes.c_uint32)
def ir3_const_ensure_imm_size(v:c.POINTER[struct_ir3_shader_variant], size:int) -> bool: ...
@dll.bind(uint16_t, c.POINTER[struct_ir3_const_state], ctypes.c_uint32)
def ir3_const_imm_index_to_reg(const_state:c.POINTER[struct_ir3_const_state], i:int) -> uint16_t: ...
@dll.bind(uint16_t, c.POINTER[struct_ir3_shader_variant], uint32_t)
def ir3_const_find_imm(v:c.POINTER[struct_ir3_shader_variant], imm:uint32_t) -> uint16_t: ...
@dll.bind(uint16_t, c.POINTER[struct_ir3_shader_variant], uint32_t)
def ir3_const_add_imm(v:c.POINTER[struct_ir3_shader_variant], imm:uint32_t) -> uint16_t: ...
@dll.bind(ctypes.c_void_p, c.POINTER[struct_ir3_shader_variant])
def ir3_shader_assemble(v:c.POINTER[struct_ir3_shader_variant]) -> ctypes.c_void_p: ...
@dll.bind(c.POINTER[struct_ir3_shader_variant], c.POINTER[struct_ir3_shader], c.POINTER[struct_ir3_shader_key], ctypes.c_bool)
def ir3_shader_create_variant(shader:c.POINTER[struct_ir3_shader], key:c.POINTER[struct_ir3_shader_key], keep_ir:bool) -> c.POINTER[struct_ir3_shader_variant]: ...
@dll.bind(c.POINTER[struct_ir3_shader_variant], c.POINTER[struct_ir3_shader], c.POINTER[struct_ir3_shader_key], ctypes.c_bool, ctypes.c_bool, c.POINTER[ctypes.c_bool])
def ir3_shader_get_variant(shader:c.POINTER[struct_ir3_shader], key:c.POINTER[struct_ir3_shader_key], binning_pass:bool, keep_ir:bool, created:c.POINTER[ctypes.c_bool]) -> c.POINTER[struct_ir3_shader_variant]: ...
@dll.bind(c.POINTER[struct_ir3_shader], c.POINTER[struct_ir3_compiler], c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_options], c.POINTER[struct_ir3_stream_output_info])
def ir3_shader_from_nir(compiler:c.POINTER[struct_ir3_compiler], nir:c.POINTER[nir_shader], options:c.POINTER[struct_ir3_shader_options], stream_output:c.POINTER[struct_ir3_stream_output_info]) -> c.POINTER[struct_ir3_shader]: ...
@dll.bind(uint32_t, c.POINTER[c.POINTER[struct_ir3_shader_variant]], c.POINTER[struct_ir3_compiler])
def ir3_trim_constlen(variants:c.POINTER[c.POINTER[struct_ir3_shader_variant]], compiler:c.POINTER[struct_ir3_compiler]) -> uint32_t: ...
@dll.bind(c.POINTER[struct_ir3_shader], c.POINTER[struct_ir3_shader], ctypes.c_uint32)
def ir3_shader_passthrough_tcs(vs:c.POINTER[struct_ir3_shader], patch_vertices:int) -> c.POINTER[struct_ir3_shader]: ...
@dll.bind(None, c.POINTER[struct_ir3_shader])
def ir3_shader_destroy(shader:c.POINTER[struct_ir3_shader]) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_shader_variant], c.POINTER[uint32_t], c.POINTER[FILE])
def ir3_shader_disasm(so:c.POINTER[struct_ir3_shader_variant], bin:c.POINTER[uint32_t], out:c.POINTER[FILE]) -> None: ...
@dll.bind(uint64_t, c.POINTER[struct_ir3_shader])
def ir3_shader_outputs(so:c.POINTER[struct_ir3_shader]) -> uint64_t: ...
@dll.bind(ctypes.c_int32, c.POINTER[struct_glsl_type], ctypes.c_bool)
def ir3_glsl_type_size(type:c.POINTER[struct_glsl_type], bindless:bool) -> int: ...
@dll.bind(None, c.POINTER[struct_ir3_compiler], c.POINTER[struct_ir3_shader_options], gl_shader_stage, c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def ir3_shader_get_subgroup_size(compiler:c.POINTER[struct_ir3_compiler], options:c.POINTER[struct_ir3_shader_options], stage:gl_shader_stage, subgroup_size:c.POINTER[ctypes.c_uint32], max_subgroup_size:c.POINTER[ctypes.c_uint32]) -> None: ...
@c.record
class struct_ir3_shader_linkage(c.Struct):
  SIZE = 152
  max_loc: int
  cnt: int
  varmask: c.Array[ctypes.c_uint32, Literal[4]]
  var: c.Array[struct_ir3_shader_linkage_var, Literal[32]]
  primid_loc: int
  viewid_loc: int
  clip0_loc: int
  clip1_loc: int
@c.record
class struct_ir3_shader_linkage_var(c.Struct):
  SIZE = 4
  slot: int
  regid: int
  compmask: int
  loc: int
struct_ir3_shader_linkage_var.register_fields([('slot', uint8_t, 0), ('regid', uint8_t, 1), ('compmask', uint8_t, 2), ('loc', uint8_t, 3)])
struct_ir3_shader_linkage.register_fields([('max_loc', uint8_t, 0), ('cnt', uint8_t, 1), ('varmask', c.Array[uint32_t, Literal[4]], 4), ('var', c.Array[struct_ir3_shader_linkage_var, Literal[32]], 20), ('primid_loc', uint8_t, 148), ('viewid_loc', uint8_t, 149), ('clip0_loc', uint8_t, 150), ('clip1_loc', uint8_t, 151)])
@dll.bind(None, c.POINTER[FILE], c.POINTER[ctypes.c_uint32], size_t)
def print_raw(out:c.POINTER[FILE], data:c.POINTER[ctypes.c_uint32], size:size_t) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_shader_linkage], c.POINTER[struct_ir3_shader_variant])
def ir3_link_stream_out(l:c.POINTER[struct_ir3_shader_linkage], v:c.POINTER[struct_ir3_shader_variant]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_apply_trig_workarounds(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_imul(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_io_offsets(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_load_barycentric_at_sample(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_load_barycentric_at_offset(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_lower_push_consts_to_preamble(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_lower_driver_params_to_ubo(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_move_varying_inputs(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_int32, c.POINTER[nir_def], c.POINTER[ctypes.c_uint32])
def ir3_nir_coord_offset(ssa:c.POINTER[nir_def], bary_type:c.POINTER[ctypes.c_uint32]) -> int: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[ctypes.c_uint32])
def ir3_nir_lower_tex_prefetch(shader:c.POINTER[nir_shader], prefetch_bary_type:c.POINTER[ctypes.c_uint32]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_layer_id(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_frag_shading_rate(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_primitive_shading_rate(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant], ctypes.c_uint32)
def ir3_nir_lower_to_explicit_output(shader:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant], topology:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_lower_to_explicit_input(shader:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant], ctypes.c_uint32)
def ir3_nir_lower_tess_ctrl(shader:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant], topology:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant], ctypes.c_uint32)
def ir3_nir_lower_tess_eval(shader:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant], topology:int) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_gs(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, ctypes.c_uint32)
def ir3_supports_vectorized_nir_op(op:ctypes.c_uint32) -> bool: ...
@dll.bind(uint8_t, c.POINTER[nir_instr], ctypes.c_void_p)
def ir3_nir_vectorize_filter(instr:c.POINTER[nir_instr], data:ctypes.c_void_p) -> uint8_t: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_64b_intrinsics(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_64b_undef(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_64b_global(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_lower_64b_regs(shader:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(nir_mem_access_size_align, ctypes.c_uint32, uint8_t, uint8_t, uint32_t, uint32_t, ctypes.c_bool, ctypes.c_uint32, ctypes.c_void_p)
def ir3_mem_access_size_align(intrin:ctypes.c_uint32, bytes:uint8_t, bit_size:uint8_t, align:uint32_t, align_offset:uint32_t, offset_is_const:bool, access:ctypes.c_uint32, cb_data:ctypes.c_void_p) -> nir_mem_access_size_align: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_opt_branch_and_or_not(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_opt_triops_bitwise(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_ir3_compiler], c.POINTER[struct_ir3_shader_nir_options], c.POINTER[nir_shader])
def ir3_optimize_loop(compiler:c.POINTER[struct_ir3_compiler], options:c.POINTER[struct_ir3_shader_nir_options], s:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader])
def ir3_nir_lower_io_vars_to_temporaries(s:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_compiler], c.POINTER[struct_ir3_shader_nir_options], c.POINTER[nir_shader])
def ir3_finalize_nir(compiler:c.POINTER[struct_ir3_compiler], options:c.POINTER[struct_ir3_shader_nir_options], s:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_shader])
def ir3_nir_post_finalize(shader:c.POINTER[struct_ir3_shader]) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_shader_variant], c.POINTER[struct_ir3_shader_nir_options], c.POINTER[nir_shader])
def ir3_nir_lower_variant(so:c.POINTER[struct_ir3_shader_variant], options:c.POINTER[struct_ir3_shader_nir_options], s:c.POINTER[nir_shader]) -> None: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant], c.POINTER[struct_ir3_const_state])
def ir3_setup_const_state(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant], const_state:c.POINTER[struct_ir3_const_state]) -> None: ...
@dll.bind(uint32_t, c.POINTER[struct_ir3_shader_variant], c.POINTER[struct_ir3_const_state], uint32_t)
def ir3_const_state_get_free_space(v:c.POINTER[struct_ir3_shader_variant], const_state:c.POINTER[struct_ir3_const_state], align_vec4:uint32_t) -> uint32_t: ...
@dll.bind(None, c.POINTER[struct_ir3_const_allocations], ctypes.c_uint32, uint32_t, uint32_t)
def ir3_const_alloc(const_alloc:c.POINTER[struct_ir3_const_allocations], type:ctypes.c_uint32, size_vec4:uint32_t, align_vec4:uint32_t) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_const_allocations], ctypes.c_uint32, uint32_t, uint32_t)
def ir3_const_reserve_space(const_alloc:c.POINTER[struct_ir3_const_allocations], type:ctypes.c_uint32, size_vec4:uint32_t, align_vec4:uint32_t) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_const_allocations], ctypes.c_uint32)
def ir3_const_free_reserved_space(const_alloc:c.POINTER[struct_ir3_const_allocations], type:ctypes.c_uint32) -> None: ...
@dll.bind(None, c.POINTER[struct_ir3_const_allocations])
def ir3_const_alloc_all_reserved_space(const_alloc:c.POINTER[struct_ir3_const_allocations]) -> None: ...
@dll.bind(uint32_t, c.POINTER[struct_ir3_compiler], c.POINTER[nir_shader], c.POINTER[struct_ir3_const_image_dims])
def ir3_nir_scan_driver_consts(compiler:c.POINTER[struct_ir3_compiler], shader:c.POINTER[nir_shader], image_dims:c.POINTER[struct_ir3_const_image_dims]) -> uint32_t: ...
@dll.bind(None, c.POINTER[struct_ir3_const_allocations], c.POINTER[uint32_t], c.POINTER[struct_ir3_compiler], ctypes.c_int32)
def ir3_alloc_driver_params(const_alloc:c.POINTER[struct_ir3_const_allocations], num_driver_params:c.POINTER[uint32_t], compiler:c.POINTER[struct_ir3_compiler], shader_type:ctypes.c_int32) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_lower_load_constant(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_analyze_ubo_ranges(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_lower_ubo_loads(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_lower_const_global_loads(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader])
def ir3_nir_fixup_load_const_ir3(nir:c.POINTER[nir_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_opt_preamble(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_opt_prefetch_descriptors(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_lower_preamble(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], int32_t)
def ir3_nir_try_propagate_bit_shift(b:c.POINTER[nir_builder], offset:c.POINTER[nir_def], shift:int32_t) -> c.POINTER[nir_def]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_instr], ctypes.c_void_p)
def ir3_nir_lower_subgroups_filter(instr:c.POINTER[nir_instr], data:ctypes.c_void_p) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader])
def ir3_nir_lower_shuffle(nir:c.POINTER[nir_shader], shader:c.POINTER[struct_ir3_shader]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[struct_ir3_shader_variant])
def ir3_nir_opt_subgroups(nir:c.POINTER[nir_shader], v:c.POINTER[struct_ir3_shader_variant]) -> bool: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[struct_ir3_driver_ubo])
def ir3_get_shared_driver_ubo(b:c.POINTER[nir_builder], ubo:c.POINTER[struct_ir3_driver_ubo]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[struct_ir3_driver_ubo])
def ir3_get_driver_ubo(b:c.POINTER[nir_builder], ubo:c.POINTER[struct_ir3_driver_ubo]) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[struct_ir3_shader_variant])
def ir3_get_driver_consts_ubo(b:c.POINTER[nir_builder], v:c.POINTER[struct_ir3_shader_variant]) -> c.POINTER[nir_def]: ...
@dll.bind(None, c.POINTER[nir_shader], c.POINTER[struct_ir3_driver_ubo], c.POINTER[ctypes.c_char])
def ir3_update_driver_ubo(nir:c.POINTER[nir_shader], ubo:c.POINTER[struct_ir3_driver_ubo], name:c.POINTER[ctypes.c_char]) -> None: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[struct_ir3_driver_ubo], ctypes.c_uint32)
def ir3_load_shared_driver_ubo(b:c.POINTER[nir_builder], components:int, ubo:c.POINTER[struct_ir3_driver_ubo], offset:int) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[struct_ir3_driver_ubo], ctypes.c_uint32)
def ir3_load_driver_ubo(b:c.POINTER[nir_builder], components:int, ubo:c.POINTER[struct_ir3_driver_ubo], offset:int) -> c.POINTER[nir_def]: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], ctypes.c_uint32, c.POINTER[struct_ir3_driver_ubo], ctypes.c_uint32, c.POINTER[nir_def], ctypes.c_uint32)
def ir3_load_driver_ubo_indirect(b:c.POINTER[nir_builder], components:int, ubo:c.POINTER[struct_ir3_driver_ubo], base:int, offset:c.POINTER[nir_def], range:int) -> c.POINTER[nir_def]: ...
@dll.bind(ctypes.c_bool, c.POINTER[nir_def], c.POINTER[c.POINTER[nir_def]])
def ir3_def_is_rematerializable_for_preamble(_def:c.POINTER[nir_def], preamble_defs:c.POINTER[c.POINTER[nir_def]]) -> bool: ...
@dll.bind(c.POINTER[nir_def], c.POINTER[nir_builder], c.POINTER[nir_def], c.POINTER[struct_set], c.POINTER[c.POINTER[nir_def]])
def ir3_rematerialize_def_for_preamble(b:c.POINTER[nir_builder], _def:c.POINTER[nir_def], instr_set:c.POINTER[struct_set], preamble_defs:c.POINTER[c.POINTER[nir_def]]) -> c.POINTER[nir_def]: ...
@c.record
class struct_driver_param_info(c.Struct):
  SIZE = 8
  offset: int
  extra_size: int
struct_driver_param_info.register_fields([('offset', uint32_t, 0), ('extra_size', uint32_t, 4)])
@dll.bind(ctypes.c_bool, c.POINTER[nir_shader], c.POINTER[nir_intrinsic_instr], c.POINTER[struct_driver_param_info])
def ir3_get_driver_param_info(shader:c.POINTER[nir_shader], intr:c.POINTER[nir_intrinsic_instr], param_info:c.POINTER[struct_driver_param_info]) -> bool: ...
@dll.bind(uint32_t, c.POINTER[nir_intrinsic_instr], ctypes.c_void_p)
def ir3_nir_max_imm_offset(intrin:c.POINTER[nir_intrinsic_instr], data:ctypes.c_void_p) -> uint32_t: ...
@dll.bind(ctypes.c_uint32, c.POINTER[nir_intrinsic_instr])
def ir3_nir_intrinsic_barycentric_sysval(intr:c.POINTER[nir_intrinsic_instr]) -> ctypes.c_uint32: ...
@dll.bind(None)
def glsl_type_singleton_init_or_ref() -> None: ...
@dll.bind(None)
def glsl_type_singleton_decref() -> None: ...
@dll.bind(None, c.POINTER[struct_blob], c.POINTER[glsl_type])
def encode_type_to_blob(blob:c.POINTER[struct_blob], type:c.POINTER[glsl_type]) -> None: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[struct_blob_reader])
def decode_type_from_blob(blob:c.POINTER[struct_blob_reader]) -> c.POINTER[glsl_type]: ...
@dll.bind(ctypes.c_uint32, ctypes.c_uint32, ctypes.c_bool)
def glsl_apply_signedness_to_base_type(type:ctypes.c_uint32, signedness:bool) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_int32, ctypes.c_uint32)
def glsl_get_sampler_dim_coordinate_components(dim:ctypes.c_uint32) -> int: ...
enum_glsl_matrix_layout: dict[int, str] = {(GLSL_MATRIX_LAYOUT_INHERITED:=0): 'GLSL_MATRIX_LAYOUT_INHERITED', (GLSL_MATRIX_LAYOUT_COLUMN_MAJOR:=1): 'GLSL_MATRIX_LAYOUT_COLUMN_MAJOR', (GLSL_MATRIX_LAYOUT_ROW_MAJOR:=2): 'GLSL_MATRIX_LAYOUT_ROW_MAJOR'}
_anonenum6: dict[int, str] = {(GLSL_PRECISION_NONE:=0): 'GLSL_PRECISION_NONE', (GLSL_PRECISION_HIGH:=1): 'GLSL_PRECISION_HIGH', (GLSL_PRECISION_MEDIUM:=2): 'GLSL_PRECISION_MEDIUM', (GLSL_PRECISION_LOW:=3): 'GLSL_PRECISION_LOW'}
enum_glsl_cmat_use: dict[int, str] = {(GLSL_CMAT_USE_NONE:=0): 'GLSL_CMAT_USE_NONE', (GLSL_CMAT_USE_A:=1): 'GLSL_CMAT_USE_A', (GLSL_CMAT_USE_B:=2): 'GLSL_CMAT_USE_B', (GLSL_CMAT_USE_ACCUMULATOR:=3): 'GLSL_CMAT_USE_ACCUMULATOR'}
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[glsl_type])
def glsl_get_type_name(type:c.POINTER[glsl_type]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_is_vector(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_is_scalar(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_is_vector_or_scalar(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_is_matrix(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_is_array_or_matrix(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_is_dual_slot(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_is_leaf(type:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_get_bare_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_get_scalar_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_get_base_glsl_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_get_length(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_type_wrap_in_arrays(t:c.POINTER[glsl_type], arrays:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_get_aoa_size(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_get_array_element(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_without_array(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_without_array_or_matrix(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_get_cmat_element(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[struct_glsl_cmat_description], c.POINTER[glsl_type])
def glsl_get_cmat_description(t:c.POINTER[glsl_type]) -> c.POINTER[struct_glsl_cmat_description]: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_atomic_size(type:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_contains_32bit(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_contains_64bit(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_type_contains_image(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_contains_atomic(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_contains_double(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_contains_integer(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_contains_opaque(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_contains_sampler(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_contains_array(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type])
def glsl_contains_subroutine(t:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_int32, c.POINTER[glsl_type])
def glsl_get_sampler_coordinate_components(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_type_compare_no_precision(a:c.POINTER[glsl_type], b:c.POINTER[glsl_type]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[glsl_type], c.POINTER[glsl_type], ctypes.c_bool, ctypes.c_bool, ctypes.c_bool)
def glsl_record_compare(a:c.POINTER[glsl_type], b:c.POINTER[glsl_type], match_name:bool, match_locations:bool, match_precision:bool) -> bool: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_get_struct_field(t:c.POINTER[glsl_type], index:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_struct_field], c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_get_struct_field_data(t:c.POINTER[glsl_type], index:int) -> c.POINTER[glsl_struct_field]: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_get_struct_location_offset(t:c.POINTER[glsl_type], length:int) -> int: ...
@dll.bind(ctypes.c_int32, c.POINTER[glsl_type], c.POINTER[ctypes.c_char])
def glsl_get_field_index(t:c.POINTER[glsl_type], name:c.POINTER[ctypes.c_char]) -> int: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], c.POINTER[ctypes.c_char])
def glsl_get_field_type(t:c.POINTER[glsl_type], name:c.POINTER[ctypes.c_char]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_f16vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_bf16vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_e4m3fnvec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_e5m2vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_dvec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_ivec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_uvec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_bvec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_i64vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_u64vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_i16vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_u16vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_i8vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_u8vec_type(components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_bool, ctypes.c_uint32)
def glsl_simple_explicit_type(base_type:int, rows:int, columns:int, explicit_stride:int, row_major:bool, explicit_alignment:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32, ctypes.c_bool, ctypes.c_bool, ctypes.c_uint32)
def glsl_sampler_type(dim:ctypes.c_uint32, shadow:bool, array:bool, type:ctypes.c_uint32) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type])
def glsl_bare_sampler_type() -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type])
def glsl_bare_shadow_sampler_type() -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32, ctypes.c_bool, ctypes.c_uint32)
def glsl_texture_type(dim:ctypes.c_uint32, array:bool, type:ctypes.c_uint32) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], ctypes.c_uint32, ctypes.c_bool, ctypes.c_uint32)
def glsl_image_type(dim:ctypes.c_uint32, array:bool, type:ctypes.c_uint32) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], ctypes.c_uint32, ctypes.c_uint32)
def glsl_array_type(element:c.POINTER[glsl_type], array_size:int, explicit_stride:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[struct_glsl_cmat_description])
def glsl_cmat_type(desc:c.POINTER[struct_glsl_cmat_description]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_struct_field], ctypes.c_uint32, c.POINTER[ctypes.c_char], ctypes.c_bool, ctypes.c_uint32)
def glsl_struct_type_with_explicit_alignment(fields:c.POINTER[glsl_struct_field], num_fields:int, name:c.POINTER[ctypes.c_char], packed:bool, explicit_alignment:int) -> c.POINTER[glsl_type]: ...
enum_glsl_interface_packing: dict[int, str] = {(GLSL_INTERFACE_PACKING_STD140:=0): 'GLSL_INTERFACE_PACKING_STD140', (GLSL_INTERFACE_PACKING_SHARED:=1): 'GLSL_INTERFACE_PACKING_SHARED', (GLSL_INTERFACE_PACKING_PACKED:=2): 'GLSL_INTERFACE_PACKING_PACKED', (GLSL_INTERFACE_PACKING_STD430:=3): 'GLSL_INTERFACE_PACKING_STD430'}
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_struct_field], ctypes.c_uint32, ctypes.c_uint32, ctypes.c_bool, c.POINTER[ctypes.c_char])
def glsl_interface_type(fields:c.POINTER[glsl_struct_field], num_fields:int, packing:ctypes.c_uint32, row_major:bool, block_name:c.POINTER[ctypes.c_char]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[ctypes.c_char])
def glsl_subroutine_type(subroutine_name:c.POINTER[ctypes.c_char]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_get_row_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_get_column_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], glsl_type_size_align_func, c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def glsl_get_explicit_type_for_size_align(type:c.POINTER[glsl_type], type_info:glsl_type_size_align_func, size:c.POINTER[ctypes.c_uint32], alignment:c.POINTER[ctypes.c_uint32]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_type_replace_vec3_with_vec4(type:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_float16_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_int16_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_uint16_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_type_to_16bit(old_type:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_replace_vector_type(t:c.POINTER[glsl_type], components:int) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_channel_type(t:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], c.POINTER[glsl_type])
def glsl_get_mul_type(type_a:c.POINTER[glsl_type], type_b:c.POINTER[glsl_type]) -> c.POINTER[glsl_type]: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_type_get_sampler_count(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_type_get_texture_count(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_type_get_image_count(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool, ctypes.c_bool)
def glsl_count_vec4_slots(t:c.POINTER[glsl_type], is_gl_vertex_input:bool, is_bindless:bool) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool)
def glsl_count_dword_slots(t:c.POINTER[glsl_type], is_bindless:bool) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_get_component_slots(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_uint32)
def glsl_get_component_slots_aligned(t:c.POINTER[glsl_type], offset:int) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_varying_count(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_type_uniform_locations(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_get_cl_size(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type])
def glsl_get_cl_alignment(t:c.POINTER[glsl_type]) -> int: ...
@dll.bind(None, c.POINTER[glsl_type], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def glsl_get_cl_type_size_align(t:c.POINTER[glsl_type], size:c.POINTER[ctypes.c_uint32], align:c.POINTER[ctypes.c_uint32]) -> None: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_internal_ifc_packing(t:c.POINTER[glsl_type], std430_supported:bool) -> ctypes.c_uint32: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_std140_base_alignment(t:c.POINTER[glsl_type], row_major:bool) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_std140_size(t:c.POINTER[glsl_type], row_major:bool) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_std430_array_stride(t:c.POINTER[glsl_type], row_major:bool) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_std430_base_alignment(t:c.POINTER[glsl_type], row_major:bool) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_std430_size(t:c.POINTER[glsl_type], row_major:bool) -> int: ...
@dll.bind(ctypes.c_uint32, c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_explicit_size(t:c.POINTER[glsl_type], align_to_stride:bool) -> int: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_explicit_std140_type(t:c.POINTER[glsl_type], row_major:bool) -> c.POINTER[glsl_type]: ...
@dll.bind(c.POINTER[glsl_type], c.POINTER[glsl_type], ctypes.c_bool)
def glsl_get_explicit_std430_type(t:c.POINTER[glsl_type], row_major:bool) -> c.POINTER[glsl_type]: ...
@dll.bind(None, c.POINTER[glsl_type], glsl_type_size_align_func, c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def glsl_size_align_handle_array_and_structs(type:c.POINTER[glsl_type], size_align:glsl_type_size_align_func, size:c.POINTER[ctypes.c_uint32], align:c.POINTER[ctypes.c_uint32]) -> None: ...
@dll.bind(None, c.POINTER[glsl_type], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def glsl_get_natural_size_align_bytes(t:c.POINTER[glsl_type], size:c.POINTER[ctypes.c_uint32], align:c.POINTER[ctypes.c_uint32]) -> None: ...
@dll.bind(None, c.POINTER[glsl_type], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def glsl_get_word_size_align_bytes(type:c.POINTER[glsl_type], size:c.POINTER[ctypes.c_uint32], align:c.POINTER[ctypes.c_uint32]) -> None: ...
@dll.bind(None, c.POINTER[glsl_type], c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
def glsl_get_vec4_size_align_bytes(type:c.POINTER[glsl_type], size:c.POINTER[ctypes.c_uint32], align:c.POINTER[ctypes.c_uint32]) -> None: ...
@dll.bind(None, c.POINTER[struct_blob])
def blob_init(blob:c.POINTER[struct_blob]) -> None: ...
@dll.bind(None, c.POINTER[struct_blob], ctypes.c_void_p, size_t)
def blob_init_fixed(blob:c.POINTER[struct_blob], data:ctypes.c_void_p, size:size_t) -> None: ...
@dll.bind(None, c.POINTER[struct_blob], c.POINTER[ctypes.c_void_p], c.POINTER[size_t])
def blob_finish_get_buffer(blob:c.POINTER[struct_blob], buffer:c.POINTER[ctypes.c_void_p], size:c.POINTER[size_t]) -> None: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], size_t)
def blob_align(blob:c.POINTER[struct_blob], alignment:size_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], ctypes.c_void_p, size_t)
def blob_write_bytes(blob:c.POINTER[struct_blob], bytes:ctypes.c_void_p, to_write:size_t) -> bool: ...
intptr_t: TypeAlias = ctypes.c_int64
@dll.bind(intptr_t, c.POINTER[struct_blob], size_t)
def blob_reserve_bytes(blob:c.POINTER[struct_blob], to_write:size_t) -> intptr_t: ...
@dll.bind(intptr_t, c.POINTER[struct_blob])
def blob_reserve_uint32(blob:c.POINTER[struct_blob]) -> intptr_t: ...
@dll.bind(intptr_t, c.POINTER[struct_blob])
def blob_reserve_intptr(blob:c.POINTER[struct_blob]) -> intptr_t: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], size_t, ctypes.c_void_p, size_t)
def blob_overwrite_bytes(blob:c.POINTER[struct_blob], offset:size_t, bytes:ctypes.c_void_p, to_write:size_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], uint8_t)
def blob_write_uint8(blob:c.POINTER[struct_blob], value:uint8_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], size_t, uint8_t)
def blob_overwrite_uint8(blob:c.POINTER[struct_blob], offset:size_t, value:uint8_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], uint16_t)
def blob_write_uint16(blob:c.POINTER[struct_blob], value:uint16_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], uint32_t)
def blob_write_uint32(blob:c.POINTER[struct_blob], value:uint32_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], size_t, uint32_t)
def blob_overwrite_uint32(blob:c.POINTER[struct_blob], offset:size_t, value:uint32_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], uint64_t)
def blob_write_uint64(blob:c.POINTER[struct_blob], value:uint64_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], intptr_t)
def blob_write_intptr(blob:c.POINTER[struct_blob], value:intptr_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], size_t, intptr_t)
def blob_overwrite_intptr(blob:c.POINTER[struct_blob], offset:size_t, value:intptr_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[struct_blob], c.POINTER[ctypes.c_char])
def blob_write_string(blob:c.POINTER[struct_blob], str:c.POINTER[ctypes.c_char]) -> bool: ...
@dll.bind(None, c.POINTER[struct_blob_reader], ctypes.c_void_p, size_t)
def blob_reader_init(blob:c.POINTER[struct_blob_reader], data:ctypes.c_void_p, size:size_t) -> None: ...
@dll.bind(None, c.POINTER[struct_blob_reader], size_t)
def blob_reader_align(blob:c.POINTER[struct_blob_reader], alignment:size_t) -> None: ...
@dll.bind(ctypes.c_void_p, c.POINTER[struct_blob_reader], size_t)
def blob_read_bytes(blob:c.POINTER[struct_blob_reader], size:size_t) -> ctypes.c_void_p: ...
@dll.bind(None, c.POINTER[struct_blob_reader], ctypes.c_void_p, size_t)
def blob_copy_bytes(blob:c.POINTER[struct_blob_reader], dest:ctypes.c_void_p, size:size_t) -> None: ...
@dll.bind(None, c.POINTER[struct_blob_reader], size_t)
def blob_skip_bytes(blob:c.POINTER[struct_blob_reader], size:size_t) -> None: ...
@dll.bind(uint8_t, c.POINTER[struct_blob_reader])
def blob_read_uint8(blob:c.POINTER[struct_blob_reader]) -> uint8_t: ...
@dll.bind(uint16_t, c.POINTER[struct_blob_reader])
def blob_read_uint16(blob:c.POINTER[struct_blob_reader]) -> uint16_t: ...
@dll.bind(uint32_t, c.POINTER[struct_blob_reader])
def blob_read_uint32(blob:c.POINTER[struct_blob_reader]) -> uint32_t: ...
@dll.bind(uint64_t, c.POINTER[struct_blob_reader])
def blob_read_uint64(blob:c.POINTER[struct_blob_reader]) -> uint64_t: ...
@dll.bind(intptr_t, c.POINTER[struct_blob_reader])
def blob_read_intptr(blob:c.POINTER[struct_blob_reader]) -> intptr_t: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[struct_blob_reader])
def blob_read_string(blob:c.POINTER[struct_blob_reader]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p)
def ralloc_context(ctx:ctypes.c_void_p) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, size_t)
def ralloc_size(ctx:ctypes.c_void_p, size:size_t) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, size_t)
def rzalloc_size(ctx:ctypes.c_void_p, size:size_t) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, size_t)
def reralloc_size(ctx:ctypes.c_void_p, ptr:ctypes.c_void_p, size:size_t) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, size_t, size_t)
def rerzalloc_size(ctx:ctypes.c_void_p, ptr:ctypes.c_void_p, old_size:size_t, new_size:size_t) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, size_t, ctypes.c_uint32)
def ralloc_array_size(ctx:ctypes.c_void_p, size:size_t, count:int) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, size_t, ctypes.c_uint32)
def rzalloc_array_size(ctx:ctypes.c_void_p, size:size_t, count:int) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, size_t, ctypes.c_uint32)
def reralloc_array_size(ctx:ctypes.c_void_p, ptr:ctypes.c_void_p, size:size_t, count:int) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, size_t, ctypes.c_uint32, ctypes.c_uint32)
def rerzalloc_array_size(ctx:ctypes.c_void_p, ptr:ctypes.c_void_p, size:size_t, old_count:int, new_count:int) -> ctypes.c_void_p: ...
@dll.bind(None, ctypes.c_void_p)
def ralloc_free(ptr:ctypes.c_void_p) -> None: ...
@dll.bind(None, ctypes.c_void_p, ctypes.c_void_p)
def ralloc_steal(new_ctx:ctypes.c_void_p, ptr:ctypes.c_void_p) -> None: ...
@dll.bind(None, ctypes.c_void_p, ctypes.c_void_p)
def ralloc_adopt(new_ctx:ctypes.c_void_p, old_ctx:ctypes.c_void_p) -> None: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p)
def ralloc_parent(ptr:ctypes.c_void_p) -> ctypes.c_void_p: ...
@dll.bind(None, ctypes.c_void_p, c.CFUNCTYPE[None, [ctypes.c_void_p]])
def ralloc_set_destructor(ptr:ctypes.c_void_p, destructor:c.CFUNCTYPE[None, [ctypes.c_void_p]]) -> None: ...
@dll.bind(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_void_p, size_t)
def ralloc_memdup(ctx:ctypes.c_void_p, mem:ctypes.c_void_p, n:size_t) -> ctypes.c_void_p: ...
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_void_p, c.POINTER[ctypes.c_char])
def ralloc_strdup(ctx:ctypes.c_void_p, str:c.POINTER[ctypes.c_char]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_void_p, c.POINTER[ctypes.c_char], size_t)
def ralloc_strndup(ctx:ctypes.c_void_p, str:c.POINTER[ctypes.c_char], n:size_t) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_bool, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char])
def ralloc_strcat(dest:c.POINTER[c.POINTER[ctypes.c_char]], str:c.POINTER[ctypes.c_char]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char], size_t)
def ralloc_strncat(dest:c.POINTER[c.POINTER[ctypes.c_char]], str:c.POINTER[ctypes.c_char], n:size_t) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char], size_t, size_t)
def ralloc_str_append(dest:c.POINTER[c.POINTER[ctypes.c_char]], str:c.POINTER[ctypes.c_char], existing_length:size_t, str_size:size_t) -> bool: ...
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_void_p, c.POINTER[ctypes.c_char])
def ralloc_asprintf(ctx:ctypes.c_void_p, fmt:c.POINTER[ctypes.c_char]) -> c.POINTER[ctypes.c_char]: ...
@c.record
class struct___va_list_tag(c.Struct):
  SIZE = 24
  gp_offset: int
  fp_offset: int
  overflow_arg_area: ctypes.c_void_p
  reg_save_area: ctypes.c_void_p
struct___va_list_tag.register_fields([('gp_offset', ctypes.c_uint32, 0), ('fp_offset', ctypes.c_uint32, 4), ('overflow_arg_area', ctypes.c_void_p, 8), ('reg_save_area', ctypes.c_void_p, 16)])
va_list: TypeAlias = c.Array[struct___va_list_tag, Literal[1]]
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_void_p, c.POINTER[ctypes.c_char], va_list)
def ralloc_vasprintf(ctx:ctypes.c_void_p, fmt:c.POINTER[ctypes.c_char], args:va_list) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_bool, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[size_t], c.POINTER[ctypes.c_char])
def ralloc_asprintf_rewrite_tail(str:c.POINTER[c.POINTER[ctypes.c_char]], start:c.POINTER[size_t], fmt:c.POINTER[ctypes.c_char]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[size_t], c.POINTER[ctypes.c_char], va_list)
def ralloc_vasprintf_rewrite_tail(str:c.POINTER[c.POINTER[ctypes.c_char]], start:c.POINTER[size_t], fmt:c.POINTER[ctypes.c_char], args:va_list) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char])
def ralloc_asprintf_append(str:c.POINTER[c.POINTER[ctypes.c_char]], fmt:c.POINTER[ctypes.c_char]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char], va_list)
def ralloc_vasprintf_append(str:c.POINTER[c.POINTER[ctypes.c_char]], fmt:c.POINTER[ctypes.c_char], args:va_list) -> bool: ...
@dll.bind(size_t, ctypes.c_void_p)
def ralloc_total_size(ptr:ctypes.c_void_p) -> size_t: ...
@dll.bind(c.POINTER[gc_ctx], ctypes.c_void_p)
def gc_context(parent:ctypes.c_void_p) -> c.POINTER[gc_ctx]: ...
@dll.bind(ctypes.c_void_p, c.POINTER[gc_ctx], size_t, size_t)
def gc_alloc_size(ctx:c.POINTER[gc_ctx], size:size_t, alignment:size_t) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, c.POINTER[gc_ctx], size_t, size_t)
def gc_zalloc_size(ctx:c.POINTER[gc_ctx], size:size_t, alignment:size_t) -> ctypes.c_void_p: ...
@dll.bind(None, ctypes.c_void_p)
def gc_free(ptr:ctypes.c_void_p) -> None: ...
@dll.bind(c.POINTER[gc_ctx], ctypes.c_void_p)
def gc_get_context(ptr:ctypes.c_void_p) -> c.POINTER[gc_ctx]: ...
@dll.bind(None, c.POINTER[gc_ctx])
def gc_sweep_start(ctx:c.POINTER[gc_ctx]) -> None: ...
@dll.bind(None, c.POINTER[gc_ctx], ctypes.c_void_p)
def gc_mark_live(ctx:c.POINTER[gc_ctx], mem:ctypes.c_void_p) -> None: ...
@dll.bind(None, c.POINTER[gc_ctx])
def gc_sweep_end(ctx:c.POINTER[gc_ctx]) -> None: ...
class struct_linear_ctx(c.Struct): pass
linear_ctx: TypeAlias = struct_linear_ctx
@dll.bind(ctypes.c_void_p, c.POINTER[linear_ctx], ctypes.c_uint32)
def linear_alloc_child(ctx:c.POINTER[linear_ctx], size:int) -> ctypes.c_void_p: ...
@c.record
class linear_opts(c.Struct):
  SIZE = 4
  min_buffer_size: int
linear_opts.register_fields([('min_buffer_size', ctypes.c_uint32, 0)])
@dll.bind(c.POINTER[linear_ctx], ctypes.c_void_p)
def linear_context(ralloc_ctx:ctypes.c_void_p) -> c.POINTER[linear_ctx]: ...
@dll.bind(c.POINTER[linear_ctx], ctypes.c_void_p, c.POINTER[linear_opts])
def linear_context_with_opts(ralloc_ctx:ctypes.c_void_p, opts:c.POINTER[linear_opts]) -> c.POINTER[linear_ctx]: ...
@dll.bind(ctypes.c_void_p, c.POINTER[linear_ctx], ctypes.c_uint32)
def linear_zalloc_child(ctx:c.POINTER[linear_ctx], size:int) -> ctypes.c_void_p: ...
@dll.bind(None, c.POINTER[linear_ctx])
def linear_free_context(ctx:c.POINTER[linear_ctx]) -> None: ...
@dll.bind(None, ctypes.c_void_p, c.POINTER[linear_ctx])
def ralloc_steal_linear_context(new_ralloc_ctx:ctypes.c_void_p, ctx:c.POINTER[linear_ctx]) -> None: ...
@dll.bind(ctypes.c_void_p, c.POINTER[linear_ctx])
def ralloc_parent_of_linear_context(ctx:c.POINTER[linear_ctx]) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, c.POINTER[linear_ctx], size_t, ctypes.c_uint32)
def linear_alloc_child_array(ctx:c.POINTER[linear_ctx], size:size_t, count:int) -> ctypes.c_void_p: ...
@dll.bind(ctypes.c_void_p, c.POINTER[linear_ctx], size_t, ctypes.c_uint32)
def linear_zalloc_child_array(ctx:c.POINTER[linear_ctx], size:size_t, count:int) -> ctypes.c_void_p: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[linear_ctx], c.POINTER[ctypes.c_char])
def linear_strdup(ctx:c.POINTER[linear_ctx], str:c.POINTER[ctypes.c_char]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[linear_ctx], c.POINTER[ctypes.c_char])
def linear_asprintf(ctx:c.POINTER[linear_ctx], fmt:c.POINTER[ctypes.c_char]) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(c.POINTER[ctypes.c_char], c.POINTER[linear_ctx], c.POINTER[ctypes.c_char], va_list)
def linear_vasprintf(ctx:c.POINTER[linear_ctx], fmt:c.POINTER[ctypes.c_char], args:va_list) -> c.POINTER[ctypes.c_char]: ...
@dll.bind(ctypes.c_bool, c.POINTER[linear_ctx], c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char])
def linear_asprintf_append(ctx:c.POINTER[linear_ctx], str:c.POINTER[c.POINTER[ctypes.c_char]], fmt:c.POINTER[ctypes.c_char]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[linear_ctx], c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char], va_list)
def linear_vasprintf_append(ctx:c.POINTER[linear_ctx], str:c.POINTER[c.POINTER[ctypes.c_char]], fmt:c.POINTER[ctypes.c_char], args:va_list) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[linear_ctx], c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[size_t], c.POINTER[ctypes.c_char])
def linear_asprintf_rewrite_tail(ctx:c.POINTER[linear_ctx], str:c.POINTER[c.POINTER[ctypes.c_char]], start:c.POINTER[size_t], fmt:c.POINTER[ctypes.c_char]) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[linear_ctx], c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[size_t], c.POINTER[ctypes.c_char], va_list)
def linear_vasprintf_rewrite_tail(ctx:c.POINTER[linear_ctx], str:c.POINTER[c.POINTER[ctypes.c_char]], start:c.POINTER[size_t], fmt:c.POINTER[ctypes.c_char], args:va_list) -> bool: ...
@dll.bind(ctypes.c_bool, c.POINTER[linear_ctx], c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[ctypes.c_char])
def linear_strcat(ctx:c.POINTER[linear_ctx], dest:c.POINTER[c.POINTER[ctypes.c_char]], str:c.POINTER[ctypes.c_char]) -> bool: ...
_anonenum7: dict[int, str] = {(RALLOC_PRINT_INFO_SUMMARY_ONLY:=1): 'RALLOC_PRINT_INFO_SUMMARY_ONLY'}
@dll.bind(None, c.POINTER[FILE], ctypes.c_void_p, ctypes.c_uint32)
def ralloc_print_info(f:c.POINTER[FILE], p:ctypes.c_void_p, flags:int) -> None: ...
@c.record
class struct_isa_decode_options(c.Struct):
  SIZE = 80
  gpu_id: int
  show_errors: bool
  max_errors: int
  branch_labels: bool
  stop: bool
  cbdata: ctypes.c_void_p
  field_cb: c.CFUNCTYPE[None, [ctypes.c_void_p, c.POINTER[ctypes.c_char], c.POINTER[struct_isa_decode_value]]]
  field_print_cb: c.CFUNCTYPE[None, [c.POINTER[struct_isa_print_state], c.POINTER[ctypes.c_char], ctypes.c_uint64]]
  pre_instr_cb: c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_uint32, ctypes.c_void_p]]
  post_instr_cb: c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_uint32, ctypes.c_void_p]]
  no_match_cb: c.CFUNCTYPE[None, [c.POINTER[struct__IO_FILE], c.POINTER[ctypes.c_uint32], ctypes.c_uint64]]
  entrypoint_count: int
  entrypoints: c.POINTER[struct_isa_entrypoint]
@c.record
class struct_isa_decode_value(c.Struct):
  SIZE = 16
  str: c.POINTER[ctypes.c_char]
  num: int
struct_isa_decode_value.register_fields([('str', c.POINTER[ctypes.c_char], 0), ('num', uint64_t, 8)])
@c.record
class struct_isa_print_state(c.Struct):
  SIZE = 16
  out: c.POINTER[struct__IO_FILE]
  line_column: int
struct_isa_print_state.register_fields([('out', c.POINTER[FILE], 0), ('line_column', ctypes.c_uint32, 8)])
@c.record
class struct_isa_entrypoint(c.Struct):
  SIZE = 16
  name: c.POINTER[ctypes.c_char]
  offset: int
struct_isa_entrypoint.register_fields([('name', c.POINTER[ctypes.c_char], 0), ('offset', uint32_t, 8)])
struct_isa_decode_options.register_fields([('gpu_id', uint32_t, 0), ('show_errors', ctypes.c_bool, 4), ('max_errors', ctypes.c_uint32, 8), ('branch_labels', ctypes.c_bool, 12), ('stop', ctypes.c_bool, 13), ('cbdata', ctypes.c_void_p, 16), ('field_cb', c.CFUNCTYPE[None, [ctypes.c_void_p, c.POINTER[ctypes.c_char], c.POINTER[struct_isa_decode_value]]], 24), ('field_print_cb', c.CFUNCTYPE[None, [c.POINTER[struct_isa_print_state], c.POINTER[ctypes.c_char], uint64_t]], 32), ('pre_instr_cb', c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_uint32, ctypes.c_void_p]], 40), ('post_instr_cb', c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_uint32, ctypes.c_void_p]], 48), ('no_match_cb', c.CFUNCTYPE[None, [c.POINTER[FILE], c.POINTER[ctypes.c_uint32], size_t]], 56), ('entrypoint_count', ctypes.c_uint32, 64), ('entrypoints', c.POINTER[struct_isa_entrypoint], 72)])
@dll.bind(None, ctypes.c_void_p, ctypes.c_int32, c.POINTER[FILE], c.POINTER[struct_isa_decode_options])
def ir3_isa_disasm(bin:ctypes.c_void_p, sz:int, out:c.POINTER[FILE], options:c.POINTER[struct_isa_decode_options]) -> None: ...
@dll.bind(ctypes.c_bool, ctypes.c_void_p, ctypes.c_void_p, c.POINTER[struct_isa_decode_options])
def ir3_isa_decode(out:ctypes.c_void_p, bin:ctypes.c_void_p, options:c.POINTER[struct_isa_decode_options]) -> bool: ...
class struct_decode_scope(c.Struct): pass
@dll.bind(uint32_t, c.POINTER[struct_decode_scope])
def ir3_isa_get_gpu_id(scope:c.POINTER[struct_decode_scope]) -> uint32_t: ...
try: glsl_type_builtin_error = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_error') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_void = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_void') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bool = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bool') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bvec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bvec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bvec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bvec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bvec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bvec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bvec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bvec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bvec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bvec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bvec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bvec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_int = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_int') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_ivec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_ivec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_ivec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_ivec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_ivec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_ivec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_ivec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_ivec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_ivec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_ivec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_ivec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_ivec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uint = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uint') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uvec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uvec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uvec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uvec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uvec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uvec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uvec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uvec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uvec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uvec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uvec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uvec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_float = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_float') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_float16_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_float16_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_double = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_double') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dvec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dvec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dvec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dvec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dvec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dvec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dvec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dvec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dvec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dvec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dvec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dvec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_int64_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_int64_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uint64_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uint64_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_int16_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_int16_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i16vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i16vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i16vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i16vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i16vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i16vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i16vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i16vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i16vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i16vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i16vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i16vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uint16_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uint16_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u16vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u16vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u16vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u16vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u16vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u16vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u16vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u16vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u16vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u16vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u16vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u16vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_int8_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_int8_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i8vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i8vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i8vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i8vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i8vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i8vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i8vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i8vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i8vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i8vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i8vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i8vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uint8_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uint8_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u8vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u8vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u8vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u8vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u8vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u8vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u8vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u8vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u8vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u8vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u8vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u8vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bfloat16_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bfloat16_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bf16vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bf16vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bf16vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bf16vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bf16vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bf16vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bf16vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bf16vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bf16vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bf16vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_bf16vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_bf16vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e4m3fn_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e4m3fn_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e4m3fnvec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e4m3fnvec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e4m3fnvec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e4m3fnvec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e4m3fnvec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e4m3fnvec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e4m3fnvec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e4m3fnvec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e4m3fnvec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e4m3fnvec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e4m3fnvec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e4m3fnvec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e5m2_t = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e5m2_t') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e5m2vec2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e5m2vec2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e5m2vec3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e5m2vec3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e5m2vec4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e5m2vec4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e5m2vec5 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e5m2vec5') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e5m2vec8 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e5m2vec8') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_e5m2vec16 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_e5m2vec16') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat2x3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat2x3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat2x4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat2x4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat3x2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat3x2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat3x4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat3x4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat4x2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat4x2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_mat4x3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_mat4x3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat2x3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat2x3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat2x4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat2x4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat3x2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat3x2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat3x4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat3x4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat4x2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat4x2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_f16mat4x3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_f16mat4x3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat2x3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat2x3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat2x4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat2x4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat3x2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat3x2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat3x4 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat3x4') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat4x2 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat4x2') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_dmat4x3 = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_dmat4x3') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_atomic_uint = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_atomic_uint') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_samplerCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_samplerCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_samplerCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_samplerCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_samplerBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_samplerBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isampler1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isampler1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isampler2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isampler2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isampler3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isampler3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isamplerCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isamplerCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isampler1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isampler1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isampler2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isampler2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isamplerCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isamplerCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isampler2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isampler2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isamplerBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isamplerBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isampler2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isampler2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isampler2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isampler2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usampler1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usampler1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usampler2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usampler2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usampler3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usampler3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usamplerCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usamplerCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usampler1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usampler1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usampler2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usampler2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usamplerCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usamplerCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usampler2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usampler2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usamplerBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usamplerBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usampler2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usampler2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usampler2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usampler2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_samplerShadow = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_samplerShadow') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler1DShadow = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler1DShadow') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler2DShadow = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler2DShadow') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_samplerCubeShadow = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_samplerCubeShadow') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler1DArrayShadow = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler1DArrayShadow') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler2DArrayShadow = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler2DArrayShadow') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_samplerCubeArrayShadow = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_samplerCubeArrayShadow') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_sampler2DRectShadow = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_sampler2DRectShadow') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_samplerExternalOES = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_samplerExternalOES') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_texture1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_texture1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_texture2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_texture2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_texture3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_texture3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_textureCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_textureCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_texture1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_texture1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_texture2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_texture2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_textureCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_textureCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_texture2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_texture2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_textureBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_textureBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_texture2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_texture2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_texture2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_texture2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itexture1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itexture1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itexture2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itexture2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itexture3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itexture3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itextureCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itextureCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itexture1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itexture1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itexture2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itexture2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itextureCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itextureCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itexture2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itexture2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itextureBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itextureBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itexture2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itexture2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itexture2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itexture2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utexture1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utexture1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utexture2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utexture2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utexture3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utexture3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utextureCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utextureCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utexture1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utexture1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utexture2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utexture2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utextureCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utextureCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utexture2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utexture2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utextureBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utextureBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utexture2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utexture2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utexture2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utexture2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_textureExternalOES = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_textureExternalOES') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vtexture1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vtexture1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vtexture2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vtexture2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vtexture3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vtexture3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vtexture2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vtexture2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vtexture2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vtexture2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vtexture1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vtexture1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vtexture2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vtexture2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vtextureBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vtextureBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_image1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_image1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_image2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_image2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_image3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_image3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_image2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_image2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_imageCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_imageCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_imageBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_imageBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_image1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_image1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_image2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_image2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_imageCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_imageCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_image2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_image2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_image2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_image2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimage1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimage1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimage2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimage2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimage3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimage3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimage2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimage2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimageCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimageCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimageBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimageBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimage1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimage1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimage2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimage2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimageCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimageCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimage2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimage2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_iimage2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_iimage2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimage1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimage1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimage2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimage2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimage3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimage3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimage2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimage2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimageCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimageCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimageBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimageBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimage1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimage1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimage2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimage2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimageCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimageCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimage2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimage2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_uimage2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_uimage2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64image1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64image1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64image2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64image2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64image3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64image3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64image2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64image2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64imageCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64imageCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64imageBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64imageBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64image1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64image1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64image2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64image2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64imageCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64imageCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64image2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64image2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_i64image2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_i64image2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64image1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64image1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64image2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64image2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64image3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64image3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64image2DRect = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64image2DRect') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64imageCube = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64imageCube') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64imageBuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64imageBuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64image1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64image1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64image2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64image2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64imageCubeArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64imageCubeArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64image2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64image2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_u64image2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_u64image2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vbuffer = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vbuffer') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vimage1D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vimage1D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vimage2D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vimage2D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vimage3D = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vimage3D') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vimage2DMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vimage2DMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vimage2DMSArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vimage2DMSArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vimage1DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vimage1DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_vimage2DArray = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_vimage2DArray') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_subpassInput = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_subpassInput') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_subpassInputMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_subpassInputMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isubpassInput = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isubpassInput') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_isubpassInputMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_isubpassInputMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usubpassInput = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usubpassInput') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_usubpassInputMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_usubpassInputMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_textureSubpassInput = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_textureSubpassInput') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_textureSubpassInputMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_textureSubpassInputMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itextureSubpassInput = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itextureSubpassInput') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_itextureSubpassInputMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_itextureSubpassInputMS') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utextureSubpassInput = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utextureSubpassInput') # type: ignore
except (ValueError,AttributeError): pass
try: glsl_type_builtin_utextureSubpassInputMS = struct_glsl_type.in_dll(dll, 'glsl_type_builtin_utextureSubpassInputMS') # type: ignore
except (ValueError,AttributeError): pass
enum_a6xx_shift_amount: dict[int, str] = {(NO_SHIFT:=0): 'NO_SHIFT', (HALF_PIXEL_SHIFT:=1): 'HALF_PIXEL_SHIFT', (FULL_PIXEL_SHIFT:=2): 'FULL_PIXEL_SHIFT'}
enum_a6xx_sequenced_thread_dist: dict[int, str] = {(DIST_SCREEN_COORD:=0): 'DIST_SCREEN_COORD', (DIST_ALL_TO_RB0:=1): 'DIST_ALL_TO_RB0'}
enum_a6xx_single_prim_mode: dict[int, str] = {(NO_FLUSH:=0): 'NO_FLUSH', (FLUSH_PER_OVERLAP_AND_OVERWRITE:=1): 'FLUSH_PER_OVERLAP_AND_OVERWRITE', (FLUSH_PER_OVERLAP:=3): 'FLUSH_PER_OVERLAP'}
enum_a6xx_raster_mode: dict[int, str] = {(TYPE_TILED:=0): 'TYPE_TILED', (TYPE_WRITER:=1): 'TYPE_WRITER'}
enum_a6xx_raster_direction: dict[int, str] = {(LR_TB:=0): 'LR_TB', (RL_TB:=1): 'RL_TB', (LR_BT:=2): 'LR_BT', (RB_BT:=3): 'RB_BT'}
enum_a6xx_render_mode: dict[int, str] = {(RENDERING_PASS:=0): 'RENDERING_PASS', (BINNING_PASS:=1): 'BINNING_PASS'}
enum_a6xx_buffers_location: dict[int, str] = {(BUFFERS_IN_GMEM:=0): 'BUFFERS_IN_GMEM', (BUFFERS_IN_SYSMEM:=3): 'BUFFERS_IN_SYSMEM'}
enum_a6xx_lrz_feedback_mask: dict[int, str] = {(LRZ_FEEDBACK_NONE:=0): 'LRZ_FEEDBACK_NONE', (LRZ_FEEDBACK_EARLY_Z:=1): 'LRZ_FEEDBACK_EARLY_Z', (LRZ_FEEDBACK_EARLY_Z_LATE_Z:=2): 'LRZ_FEEDBACK_EARLY_Z_LATE_Z', (LRZ_FEEDBACK_EARLY_Z_OR_EARLY_Z_LATE_Z:=3): 'LRZ_FEEDBACK_EARLY_Z_OR_EARLY_Z_LATE_Z', (LRZ_FEEDBACK_LATE_Z:=4): 'LRZ_FEEDBACK_LATE_Z'}
enum_a6xx_fsr_combiner: dict[int, str] = {(FSR_COMBINER_OP_KEEP:=0): 'FSR_COMBINER_OP_KEEP', (FSR_COMBINER_OP_REPLACE:=1): 'FSR_COMBINER_OP_REPLACE', (FSR_COMBINER_OP_MIN:=2): 'FSR_COMBINER_OP_MIN', (FSR_COMBINER_OP_MAX:=3): 'FSR_COMBINER_OP_MAX', (FSR_COMBINER_OP_MUL:=4): 'FSR_COMBINER_OP_MUL'}
enum_a6xx_lrz_dir_status: dict[int, str] = {(LRZ_DIR_LE:=1): 'LRZ_DIR_LE', (LRZ_DIR_GE:=2): 'LRZ_DIR_GE', (LRZ_DIR_INVALID:=3): 'LRZ_DIR_INVALID'}
enum_a6xx_fragcoord_sample_mode: dict[int, str] = {(FRAGCOORD_CENTER:=0): 'FRAGCOORD_CENTER', (FRAGCOORD_SAMPLE:=3): 'FRAGCOORD_SAMPLE'}
enum_a6xx_rotation: dict[int, str] = {(ROTATE_0:=0): 'ROTATE_0', (ROTATE_90:=1): 'ROTATE_90', (ROTATE_180:=2): 'ROTATE_180', (ROTATE_270:=3): 'ROTATE_270', (ROTATE_HFLIP:=4): 'ROTATE_HFLIP', (ROTATE_VFLIP:=5): 'ROTATE_VFLIP'}
enum_a6xx_blit_event_type: dict[int, str] = {(BLIT_EVENT_STORE:=0): 'BLIT_EVENT_STORE', (BLIT_EVENT_STORE_AND_CLEAR:=1): 'BLIT_EVENT_STORE_AND_CLEAR', (BLIT_EVENT_CLEAR:=2): 'BLIT_EVENT_CLEAR', (BLIT_EVENT_LOAD:=3): 'BLIT_EVENT_LOAD'}
enum_a7xx_blit_clear_mode: dict[int, str] = {(CLEAR_MODE_SYSMEM:=0): 'CLEAR_MODE_SYSMEM', (CLEAR_MODE_GMEM:=1): 'CLEAR_MODE_GMEM'}
enum_a6xx_ccu_cache_size: dict[int, str] = {(CCU_CACHE_SIZE_FULL:=0): 'CCU_CACHE_SIZE_FULL', (CCU_CACHE_SIZE_HALF:=1): 'CCU_CACHE_SIZE_HALF', (CCU_CACHE_SIZE_QUARTER:=2): 'CCU_CACHE_SIZE_QUARTER', (CCU_CACHE_SIZE_EIGHTH:=3): 'CCU_CACHE_SIZE_EIGHTH'}
enum_a7xx_concurrent_resolve_mode: dict[int, str] = {(CONCURRENT_RESOLVE_MODE_DISABLED:=0): 'CONCURRENT_RESOLVE_MODE_DISABLED', (CONCURRENT_RESOLVE_MODE_1:=1): 'CONCURRENT_RESOLVE_MODE_1', (CONCURRENT_RESOLVE_MODE_2:=2): 'CONCURRENT_RESOLVE_MODE_2'}
enum_a7xx_concurrent_unresolve_mode: dict[int, str] = {(CONCURRENT_UNRESOLVE_MODE_DISABLED:=0): 'CONCURRENT_UNRESOLVE_MODE_DISABLED', (CONCURRENT_UNRESOLVE_MODE_PARTIAL:=1): 'CONCURRENT_UNRESOLVE_MODE_PARTIAL', (CONCURRENT_UNRESOLVE_MODE_FULL:=3): 'CONCURRENT_UNRESOLVE_MODE_FULL'}
enum_a6xx_varying_interp_mode: dict[int, str] = {(INTERP_SMOOTH:=0): 'INTERP_SMOOTH', (INTERP_FLAT:=1): 'INTERP_FLAT', (INTERP_ZERO:=2): 'INTERP_ZERO', (INTERP_ONE:=3): 'INTERP_ONE'}
enum_a6xx_varying_ps_repl_mode: dict[int, str] = {(PS_REPL_NONE:=0): 'PS_REPL_NONE', (PS_REPL_S:=1): 'PS_REPL_S', (PS_REPL_T:=2): 'PS_REPL_T', (PS_REPL_ONE_MINUS_T:=3): 'PS_REPL_ONE_MINUS_T'}
enum_a6xx_threadsize: dict[int, str] = {(THREAD64:=0): 'THREAD64', (THREAD128:=1): 'THREAD128'}
enum_a6xx_const_ram_mode: dict[int, str] = {(CONSTLEN_128:=0): 'CONSTLEN_128', (CONSTLEN_192:=1): 'CONSTLEN_192', (CONSTLEN_256:=2): 'CONSTLEN_256', (CONSTLEN_512:=3): 'CONSTLEN_512'}
enum_a7xx_workitem_rast_order: dict[int, str] = {(WORKITEMRASTORDER_LINEAR:=0): 'WORKITEMRASTORDER_LINEAR', (WORKITEMRASTORDER_TILED:=1): 'WORKITEMRASTORDER_TILED'}
enum_a6xx_bindless_descriptor_size: dict[int, str] = {(BINDLESS_DESCRIPTOR_16B:=1): 'BINDLESS_DESCRIPTOR_16B', (BINDLESS_DESCRIPTOR_64B:=3): 'BINDLESS_DESCRIPTOR_64B'}
enum_a6xx_isam_mode: dict[int, str] = {(ISAMMODE_CL:=1): 'ISAMMODE_CL', (ISAMMODE_GL:=2): 'ISAMMODE_GL'}
enum_a6xx_sp_a2d_output_ifmt_type: dict[int, str] = {(OUTPUT_IFMT_2D_FLOAT:=0): 'OUTPUT_IFMT_2D_FLOAT', (OUTPUT_IFMT_2D_SINT:=1): 'OUTPUT_IFMT_2D_SINT', (OUTPUT_IFMT_2D_UINT:=2): 'OUTPUT_IFMT_2D_UINT'}
enum_a6xx_coord_round: dict[int, str] = {(COORD_TRUNCATE:=0): 'COORD_TRUNCATE', (COORD_ROUND_NEAREST_EVEN:=1): 'COORD_ROUND_NEAREST_EVEN'}
enum_a6xx_nearest_mode: dict[int, str] = {(ROUND_CLAMP_TRUNCATE:=0): 'ROUND_CLAMP_TRUNCATE', (CLAMP_ROUND_TRUNCATE:=1): 'CLAMP_ROUND_TRUNCATE'}
enum_a7xx_cs_yalign: dict[int, str] = {(CS_YALIGN_1:=8): 'CS_YALIGN_1', (CS_YALIGN_2:=4): 'CS_YALIGN_2', (CS_YALIGN_4:=2): 'CS_YALIGN_4', (CS_YALIGN_8:=1): 'CS_YALIGN_8'}
enum_vgt_event_type: dict[int, str] = {(VS_DEALLOC:=0): 'VS_DEALLOC', (PS_DEALLOC:=1): 'PS_DEALLOC', (VS_DONE_TS:=2): 'VS_DONE_TS', (PS_DONE_TS:=3): 'PS_DONE_TS', (CACHE_FLUSH_TS:=4): 'CACHE_FLUSH_TS', (CONTEXT_DONE:=5): 'CONTEXT_DONE', (CACHE_FLUSH:=6): 'CACHE_FLUSH', (VIZQUERY_START:=7): 'VIZQUERY_START', (HLSQ_FLUSH:=7): 'HLSQ_FLUSH', (VIZQUERY_END:=8): 'VIZQUERY_END', (SC_WAIT_WC:=9): 'SC_WAIT_WC', (WRITE_PRIMITIVE_COUNTS:=9): 'WRITE_PRIMITIVE_COUNTS', (START_PRIMITIVE_CTRS:=11): 'START_PRIMITIVE_CTRS', (STOP_PRIMITIVE_CTRS:=12): 'STOP_PRIMITIVE_CTRS', (RST_PIX_CNT:=13): 'RST_PIX_CNT', (RST_VTX_CNT:=14): 'RST_VTX_CNT', (TILE_FLUSH:=15): 'TILE_FLUSH', (STAT_EVENT:=16): 'STAT_EVENT', (CACHE_FLUSH_AND_INV_TS_EVENT:=20): 'CACHE_FLUSH_AND_INV_TS_EVENT', (ZPASS_DONE:=21): 'ZPASS_DONE', (CACHE_FLUSH_AND_INV_EVENT:=22): 'CACHE_FLUSH_AND_INV_EVENT', (RB_DONE_TS:=22): 'RB_DONE_TS', (PERFCOUNTER_START:=23): 'PERFCOUNTER_START', (PERFCOUNTER_STOP:=24): 'PERFCOUNTER_STOP', (VS_FETCH_DONE:=27): 'VS_FETCH_DONE', (FACENESS_FLUSH:=28): 'FACENESS_FLUSH', (WT_DONE_TS:=8): 'WT_DONE_TS', (START_FRAGMENT_CTRS:=13): 'START_FRAGMENT_CTRS', (STOP_FRAGMENT_CTRS:=14): 'STOP_FRAGMENT_CTRS', (START_COMPUTE_CTRS:=15): 'START_COMPUTE_CTRS', (STOP_COMPUTE_CTRS:=16): 'STOP_COMPUTE_CTRS', (FLUSH_SO_0:=17): 'FLUSH_SO_0', (FLUSH_SO_1:=18): 'FLUSH_SO_1', (FLUSH_SO_2:=19): 'FLUSH_SO_2', (FLUSH_SO_3:=20): 'FLUSH_SO_3', (PC_CCU_INVALIDATE_DEPTH:=24): 'PC_CCU_INVALIDATE_DEPTH', (PC_CCU_INVALIDATE_COLOR:=25): 'PC_CCU_INVALIDATE_COLOR', (PC_CCU_RESOLVE_TS:=26): 'PC_CCU_RESOLVE_TS', (PC_CCU_FLUSH_DEPTH_TS:=28): 'PC_CCU_FLUSH_DEPTH_TS', (PC_CCU_FLUSH_COLOR_TS:=29): 'PC_CCU_FLUSH_COLOR_TS', (BLIT:=30): 'BLIT', (LRZ_FLIP_BUFFER:=36): 'LRZ_FLIP_BUFFER', (LRZ_CLEAR:=37): 'LRZ_CLEAR', (LRZ_FLUSH:=38): 'LRZ_FLUSH', (BLIT_OP_FILL_2D:=39): 'BLIT_OP_FILL_2D', (BLIT_OP_COPY_2D:=40): 'BLIT_OP_COPY_2D', (UNK_40:=40): 'UNK_40', (LRZ_Q_CACHE_INVALIDATE:=41): 'LRZ_Q_CACHE_INVALIDATE', (BLIT_OP_SCALE_2D:=42): 'BLIT_OP_SCALE_2D', (CONTEXT_DONE_2D:=43): 'CONTEXT_DONE_2D', (UNK_2C:=44): 'UNK_2C', (UNK_2D:=45): 'UNK_2D', (CACHE_INVALIDATE:=49): 'CACHE_INVALIDATE', (LABEL:=63): 'LABEL', (DUMMY_EVENT:=1): 'DUMMY_EVENT', (CCU_INVALIDATE_DEPTH:=24): 'CCU_INVALIDATE_DEPTH', (CCU_INVALIDATE_COLOR:=25): 'CCU_INVALIDATE_COLOR', (CCU_RESOLVE_CLEAN:=26): 'CCU_RESOLVE_CLEAN', (CCU_FLUSH_DEPTH:=28): 'CCU_FLUSH_DEPTH', (CCU_FLUSH_COLOR:=29): 'CCU_FLUSH_COLOR', (CCU_RESOLVE:=30): 'CCU_RESOLVE', (CCU_END_RESOLVE_GROUP:=31): 'CCU_END_RESOLVE_GROUP', (CCU_CLEAN_DEPTH:=32): 'CCU_CLEAN_DEPTH', (CCU_CLEAN_COLOR:=33): 'CCU_CLEAN_COLOR', (CACHE_RESET:=48): 'CACHE_RESET', (CACHE_CLEAN:=49): 'CACHE_CLEAN', (CACHE_FLUSH7:=50): 'CACHE_FLUSH7', (CACHE_INVALIDATE7:=51): 'CACHE_INVALIDATE7'}
enum_pc_di_primtype: dict[int, str] = {(DI_PT_NONE:=0): 'DI_PT_NONE', (DI_PT_POINTLIST_PSIZE:=1): 'DI_PT_POINTLIST_PSIZE', (DI_PT_LINELIST:=2): 'DI_PT_LINELIST', (DI_PT_LINESTRIP:=3): 'DI_PT_LINESTRIP', (DI_PT_TRILIST:=4): 'DI_PT_TRILIST', (DI_PT_TRIFAN:=5): 'DI_PT_TRIFAN', (DI_PT_TRISTRIP:=6): 'DI_PT_TRISTRIP', (DI_PT_LINELOOP:=7): 'DI_PT_LINELOOP', (DI_PT_RECTLIST:=8): 'DI_PT_RECTLIST', (DI_PT_POINTLIST:=9): 'DI_PT_POINTLIST', (DI_PT_LINE_ADJ:=10): 'DI_PT_LINE_ADJ', (DI_PT_LINESTRIP_ADJ:=11): 'DI_PT_LINESTRIP_ADJ', (DI_PT_TRI_ADJ:=12): 'DI_PT_TRI_ADJ', (DI_PT_TRISTRIP_ADJ:=13): 'DI_PT_TRISTRIP_ADJ', (DI_PT_PATCHES0:=31): 'DI_PT_PATCHES0', (DI_PT_PATCHES1:=32): 'DI_PT_PATCHES1', (DI_PT_PATCHES2:=33): 'DI_PT_PATCHES2', (DI_PT_PATCHES3:=34): 'DI_PT_PATCHES3', (DI_PT_PATCHES4:=35): 'DI_PT_PATCHES4', (DI_PT_PATCHES5:=36): 'DI_PT_PATCHES5', (DI_PT_PATCHES6:=37): 'DI_PT_PATCHES6', (DI_PT_PATCHES7:=38): 'DI_PT_PATCHES7', (DI_PT_PATCHES8:=39): 'DI_PT_PATCHES8', (DI_PT_PATCHES9:=40): 'DI_PT_PATCHES9', (DI_PT_PATCHES10:=41): 'DI_PT_PATCHES10', (DI_PT_PATCHES11:=42): 'DI_PT_PATCHES11', (DI_PT_PATCHES12:=43): 'DI_PT_PATCHES12', (DI_PT_PATCHES13:=44): 'DI_PT_PATCHES13', (DI_PT_PATCHES14:=45): 'DI_PT_PATCHES14', (DI_PT_PATCHES15:=46): 'DI_PT_PATCHES15', (DI_PT_PATCHES16:=47): 'DI_PT_PATCHES16', (DI_PT_PATCHES17:=48): 'DI_PT_PATCHES17', (DI_PT_PATCHES18:=49): 'DI_PT_PATCHES18', (DI_PT_PATCHES19:=50): 'DI_PT_PATCHES19', (DI_PT_PATCHES20:=51): 'DI_PT_PATCHES20', (DI_PT_PATCHES21:=52): 'DI_PT_PATCHES21', (DI_PT_PATCHES22:=53): 'DI_PT_PATCHES22', (DI_PT_PATCHES23:=54): 'DI_PT_PATCHES23', (DI_PT_PATCHES24:=55): 'DI_PT_PATCHES24', (DI_PT_PATCHES25:=56): 'DI_PT_PATCHES25', (DI_PT_PATCHES26:=57): 'DI_PT_PATCHES26', (DI_PT_PATCHES27:=58): 'DI_PT_PATCHES27', (DI_PT_PATCHES28:=59): 'DI_PT_PATCHES28', (DI_PT_PATCHES29:=60): 'DI_PT_PATCHES29', (DI_PT_PATCHES30:=61): 'DI_PT_PATCHES30', (DI_PT_PATCHES31:=62): 'DI_PT_PATCHES31'}
enum_pc_di_src_sel: dict[int, str] = {(DI_SRC_SEL_DMA:=0): 'DI_SRC_SEL_DMA', (DI_SRC_SEL_IMMEDIATE:=1): 'DI_SRC_SEL_IMMEDIATE', (DI_SRC_SEL_AUTO_INDEX:=2): 'DI_SRC_SEL_AUTO_INDEX', (DI_SRC_SEL_AUTO_XFB:=3): 'DI_SRC_SEL_AUTO_XFB'}
enum_pc_di_face_cull_sel: dict[int, str] = {(DI_FACE_CULL_NONE:=0): 'DI_FACE_CULL_NONE', (DI_FACE_CULL_FETCH:=1): 'DI_FACE_CULL_FETCH', (DI_FACE_BACKFACE_CULL:=2): 'DI_FACE_BACKFACE_CULL', (DI_FACE_FRONTFACE_CULL:=3): 'DI_FACE_FRONTFACE_CULL'}
enum_pc_di_index_size: dict[int, str] = {(INDEX_SIZE_IGN:=0): 'INDEX_SIZE_IGN', (INDEX_SIZE_16_BIT:=0): 'INDEX_SIZE_16_BIT', (INDEX_SIZE_32_BIT:=1): 'INDEX_SIZE_32_BIT', (INDEX_SIZE_8_BIT:=2): 'INDEX_SIZE_8_BIT', (INDEX_SIZE_INVALID:=0): 'INDEX_SIZE_INVALID'}
enum_pc_di_vis_cull_mode: dict[int, str] = {(IGNORE_VISIBILITY:=0): 'IGNORE_VISIBILITY', (USE_VISIBILITY:=1): 'USE_VISIBILITY'}
enum_adreno_pm4_packet_type: dict[int, str] = {(CP_TYPE0_PKT:=0): 'CP_TYPE0_PKT', (CP_TYPE1_PKT:=1073741824): 'CP_TYPE1_PKT', (CP_TYPE2_PKT:=2147483648): 'CP_TYPE2_PKT', (CP_TYPE3_PKT:=3221225472): 'CP_TYPE3_PKT', (CP_TYPE4_PKT:=1073741824): 'CP_TYPE4_PKT', (CP_TYPE7_PKT:=1879048192): 'CP_TYPE7_PKT'}
enum_adreno_pm4_type3_packets: dict[int, str] = {(CP_ME_INIT:=72): 'CP_ME_INIT', (CP_NOP:=16): 'CP_NOP', (CP_PREEMPT_ENABLE:=28): 'CP_PREEMPT_ENABLE', (CP_PREEMPT_TOKEN:=30): 'CP_PREEMPT_TOKEN', (CP_INDIRECT_BUFFER:=63): 'CP_INDIRECT_BUFFER', (CP_INDIRECT_BUFFER_CHAIN:=87): 'CP_INDIRECT_BUFFER_CHAIN', (CP_INDIRECT_BUFFER_PFD:=55): 'CP_INDIRECT_BUFFER_PFD', (CP_WAIT_FOR_IDLE:=38): 'CP_WAIT_FOR_IDLE', (CP_WAIT_REG_MEM:=60): 'CP_WAIT_REG_MEM', (CP_WAIT_REG_EQ:=82): 'CP_WAIT_REG_EQ', (CP_WAIT_REG_GTE:=83): 'CP_WAIT_REG_GTE', (CP_WAIT_UNTIL_READ:=92): 'CP_WAIT_UNTIL_READ', (CP_WAIT_IB_PFD_COMPLETE:=93): 'CP_WAIT_IB_PFD_COMPLETE', (CP_REG_RMW:=33): 'CP_REG_RMW', (CP_SET_BIN_DATA:=47): 'CP_SET_BIN_DATA', (CP_SET_BIN_DATA5:=47): 'CP_SET_BIN_DATA5', (CP_REG_TO_MEM:=62): 'CP_REG_TO_MEM', (CP_MEM_WRITE:=61): 'CP_MEM_WRITE', (CP_MEM_WRITE_CNTR:=79): 'CP_MEM_WRITE_CNTR', (CP_COND_EXEC:=68): 'CP_COND_EXEC', (CP_COND_WRITE:=69): 'CP_COND_WRITE', (CP_COND_WRITE5:=69): 'CP_COND_WRITE5', (CP_EVENT_WRITE:=70): 'CP_EVENT_WRITE', (CP_EVENT_WRITE7:=70): 'CP_EVENT_WRITE7', (CP_EVENT_WRITE_SHD:=88): 'CP_EVENT_WRITE_SHD', (CP_EVENT_WRITE_CFL:=89): 'CP_EVENT_WRITE_CFL', (CP_EVENT_WRITE_ZPD:=91): 'CP_EVENT_WRITE_ZPD', (CP_RUN_OPENCL:=49): 'CP_RUN_OPENCL', (CP_DRAW_INDX:=34): 'CP_DRAW_INDX', (CP_DRAW_INDX_2:=54): 'CP_DRAW_INDX_2', (CP_DRAW_INDX_BIN:=52): 'CP_DRAW_INDX_BIN', (CP_DRAW_INDX_2_BIN:=53): 'CP_DRAW_INDX_2_BIN', (CP_VIZ_QUERY:=35): 'CP_VIZ_QUERY', (CP_SET_STATE:=37): 'CP_SET_STATE', (CP_SET_CONSTANT:=45): 'CP_SET_CONSTANT', (CP_IM_LOAD:=39): 'CP_IM_LOAD', (CP_IM_LOAD_IMMEDIATE:=43): 'CP_IM_LOAD_IMMEDIATE', (CP_LOAD_CONSTANT_CONTEXT:=46): 'CP_LOAD_CONSTANT_CONTEXT', (CP_INVALIDATE_STATE:=59): 'CP_INVALIDATE_STATE', (CP_SET_SHADER_BASES:=74): 'CP_SET_SHADER_BASES', (CP_SET_BIN_MASK:=80): 'CP_SET_BIN_MASK', (CP_SET_BIN_SELECT:=81): 'CP_SET_BIN_SELECT', (CP_CONTEXT_UPDATE:=94): 'CP_CONTEXT_UPDATE', (CP_INTERRUPT:=64): 'CP_INTERRUPT', (CP_IM_STORE:=44): 'CP_IM_STORE', (CP_SET_DRAW_INIT_FLAGS:=75): 'CP_SET_DRAW_INIT_FLAGS', (CP_SET_PROTECTED_MODE:=95): 'CP_SET_PROTECTED_MODE', (CP_BOOTSTRAP_UCODE:=111): 'CP_BOOTSTRAP_UCODE', (CP_LOAD_STATE:=48): 'CP_LOAD_STATE', (CP_LOAD_STATE4:=48): 'CP_LOAD_STATE4', (CP_COND_INDIRECT_BUFFER_PFE:=58): 'CP_COND_INDIRECT_BUFFER_PFE', (CP_COND_INDIRECT_BUFFER_PFD:=50): 'CP_COND_INDIRECT_BUFFER_PFD', (CP_INDIRECT_BUFFER_PFE:=63): 'CP_INDIRECT_BUFFER_PFE', (CP_SET_BIN:=76): 'CP_SET_BIN', (CP_TEST_TWO_MEMS:=113): 'CP_TEST_TWO_MEMS', (CP_REG_WR_NO_CTXT:=120): 'CP_REG_WR_NO_CTXT', (CP_RECORD_PFP_TIMESTAMP:=17): 'CP_RECORD_PFP_TIMESTAMP', (CP_SET_SECURE_MODE:=102): 'CP_SET_SECURE_MODE', (CP_WAIT_FOR_ME:=19): 'CP_WAIT_FOR_ME', (CP_SET_DRAW_STATE:=67): 'CP_SET_DRAW_STATE', (CP_DRAW_INDX_OFFSET:=56): 'CP_DRAW_INDX_OFFSET', (CP_DRAW_INDIRECT:=40): 'CP_DRAW_INDIRECT', (CP_DRAW_INDX_INDIRECT:=41): 'CP_DRAW_INDX_INDIRECT', (CP_DRAW_INDIRECT_MULTI:=42): 'CP_DRAW_INDIRECT_MULTI', (CP_DRAW_AUTO:=36): 'CP_DRAW_AUTO', (CP_DRAW_PRED_ENABLE_GLOBAL:=25): 'CP_DRAW_PRED_ENABLE_GLOBAL', (CP_DRAW_PRED_ENABLE_LOCAL:=26): 'CP_DRAW_PRED_ENABLE_LOCAL', (CP_DRAW_PRED_SET:=78): 'CP_DRAW_PRED_SET', (CP_WIDE_REG_WRITE:=116): 'CP_WIDE_REG_WRITE', (CP_SCRATCH_TO_REG:=77): 'CP_SCRATCH_TO_REG', (CP_REG_TO_SCRATCH:=74): 'CP_REG_TO_SCRATCH', (CP_WAIT_MEM_WRITES:=18): 'CP_WAIT_MEM_WRITES', (CP_COND_REG_EXEC:=71): 'CP_COND_REG_EXEC', (CP_MEM_TO_REG:=66): 'CP_MEM_TO_REG', (CP_EXEC_CS_INDIRECT:=65): 'CP_EXEC_CS_INDIRECT', (CP_EXEC_CS:=51): 'CP_EXEC_CS', (CP_PERFCOUNTER_ACTION:=80): 'CP_PERFCOUNTER_ACTION', (CP_SMMU_TABLE_UPDATE:=83): 'CP_SMMU_TABLE_UPDATE', (CP_SET_MARKER:=101): 'CP_SET_MARKER', (CP_SET_PSEUDO_REG:=86): 'CP_SET_PSEUDO_REG', (CP_CONTEXT_REG_BUNCH:=92): 'CP_CONTEXT_REG_BUNCH', (CP_YIELD_ENABLE:=28): 'CP_YIELD_ENABLE', (CP_SKIP_IB2_ENABLE_GLOBAL:=29): 'CP_SKIP_IB2_ENABLE_GLOBAL', (CP_SKIP_IB2_ENABLE_LOCAL:=35): 'CP_SKIP_IB2_ENABLE_LOCAL', (CP_SET_SUBDRAW_SIZE:=53): 'CP_SET_SUBDRAW_SIZE', (CP_WHERE_AM_I:=98): 'CP_WHERE_AM_I', (CP_SET_VISIBILITY_OVERRIDE:=100): 'CP_SET_VISIBILITY_OVERRIDE', (CP_PREEMPT_ENABLE_GLOBAL:=105): 'CP_PREEMPT_ENABLE_GLOBAL', (CP_PREEMPT_ENABLE_LOCAL:=106): 'CP_PREEMPT_ENABLE_LOCAL', (CP_CONTEXT_SWITCH_YIELD:=107): 'CP_CONTEXT_SWITCH_YIELD', (CP_SET_RENDER_MODE:=108): 'CP_SET_RENDER_MODE', (CP_COMPUTE_CHECKPOINT:=110): 'CP_COMPUTE_CHECKPOINT', (CP_MEM_TO_MEM:=115): 'CP_MEM_TO_MEM', (CP_BLIT:=44): 'CP_BLIT', (CP_REG_TEST:=57): 'CP_REG_TEST', (CP_SET_MODE:=99): 'CP_SET_MODE', (CP_LOAD_STATE6_GEOM:=50): 'CP_LOAD_STATE6_GEOM', (CP_LOAD_STATE6_FRAG:=52): 'CP_LOAD_STATE6_FRAG', (CP_LOAD_STATE6:=54): 'CP_LOAD_STATE6', (IN_IB_PREFETCH_END:=23): 'IN_IB_PREFETCH_END', (IN_SUBBLK_PREFETCH:=31): 'IN_SUBBLK_PREFETCH', (IN_INSTR_PREFETCH:=32): 'IN_INSTR_PREFETCH', (IN_INSTR_MATCH:=71): 'IN_INSTR_MATCH', (IN_CONST_PREFETCH:=73): 'IN_CONST_PREFETCH', (IN_INCR_UPDT_STATE:=85): 'IN_INCR_UPDT_STATE', (IN_INCR_UPDT_CONST:=86): 'IN_INCR_UPDT_CONST', (IN_INCR_UPDT_INSTR:=87): 'IN_INCR_UPDT_INSTR', (PKT4:=4): 'PKT4', (IN_IB_END:=10): 'IN_IB_END', (IN_GMU_INTERRUPT:=11): 'IN_GMU_INTERRUPT', (IN_PREEMPT:=15): 'IN_PREEMPT', (CP_SCRATCH_WRITE:=76): 'CP_SCRATCH_WRITE', (CP_REG_TO_MEM_OFFSET_MEM:=116): 'CP_REG_TO_MEM_OFFSET_MEM', (CP_REG_TO_MEM_OFFSET_REG:=114): 'CP_REG_TO_MEM_OFFSET_REG', (CP_WAIT_MEM_GTE:=20): 'CP_WAIT_MEM_GTE', (CP_WAIT_TWO_REGS:=112): 'CP_WAIT_TWO_REGS', (CP_MEMCPY:=117): 'CP_MEMCPY', (CP_SET_BIN_DATA5_OFFSET:=46): 'CP_SET_BIN_DATA5_OFFSET', (CP_SET_UNK_BIN_DATA:=45): 'CP_SET_UNK_BIN_DATA', (CP_CONTEXT_SWITCH:=84): 'CP_CONTEXT_SWITCH', (CP_SET_AMBLE:=85): 'CP_SET_AMBLE', (CP_REG_WRITE:=109): 'CP_REG_WRITE', (CP_START_BIN:=80): 'CP_START_BIN', (CP_END_BIN:=81): 'CP_END_BIN', (CP_PREEMPT_DISABLE:=108): 'CP_PREEMPT_DISABLE', (CP_WAIT_TIMESTAMP:=20): 'CP_WAIT_TIMESTAMP', (CP_GLOBAL_TIMESTAMP:=21): 'CP_GLOBAL_TIMESTAMP', (CP_LOCAL_TIMESTAMP:=22): 'CP_LOCAL_TIMESTAMP', (CP_THREAD_CONTROL:=23): 'CP_THREAD_CONTROL', (CP_RESOURCE_LIST:=24): 'CP_RESOURCE_LIST', (CP_BV_BR_COUNT_OPS:=27): 'CP_BV_BR_COUNT_OPS', (CP_MODIFY_TIMESTAMP:=28): 'CP_MODIFY_TIMESTAMP', (CP_CONTEXT_REG_BUNCH2:=93): 'CP_CONTEXT_REG_BUNCH2', (CP_MEM_TO_SCRATCH_MEM:=73): 'CP_MEM_TO_SCRATCH_MEM', (CP_FIXED_STRIDE_DRAW_TABLE:=127): 'CP_FIXED_STRIDE_DRAW_TABLE', (CP_RESET_CONTEXT_STATE:=31): 'CP_RESET_CONTEXT_STATE', (CP_CCHE_INVALIDATE:=58): 'CP_CCHE_INVALIDATE', (CP_SCOPE_CNTL:=108): 'CP_SCOPE_CNTL'}
enum_adreno_state_block: dict[int, str] = {(SB_VERT_TEX:=0): 'SB_VERT_TEX', (SB_VERT_MIPADDR:=1): 'SB_VERT_MIPADDR', (SB_FRAG_TEX:=2): 'SB_FRAG_TEX', (SB_FRAG_MIPADDR:=3): 'SB_FRAG_MIPADDR', (SB_VERT_SHADER:=4): 'SB_VERT_SHADER', (SB_GEOM_SHADER:=5): 'SB_GEOM_SHADER', (SB_FRAG_SHADER:=6): 'SB_FRAG_SHADER', (SB_COMPUTE_SHADER:=7): 'SB_COMPUTE_SHADER'}
enum_adreno_state_type: dict[int, str] = {(ST_SHADER:=0): 'ST_SHADER', (ST_CONSTANTS:=1): 'ST_CONSTANTS'}
enum_adreno_state_src: dict[int, str] = {(SS_DIRECT:=0): 'SS_DIRECT', (SS_INVALID_ALL_IC:=2): 'SS_INVALID_ALL_IC', (SS_INVALID_PART_IC:=3): 'SS_INVALID_PART_IC', (SS_INDIRECT:=4): 'SS_INDIRECT', (SS_INDIRECT_TCM:=5): 'SS_INDIRECT_TCM', (SS_INDIRECT_STM:=6): 'SS_INDIRECT_STM'}
enum_a4xx_state_block: dict[int, str] = {(SB4_VS_TEX:=0): 'SB4_VS_TEX', (SB4_HS_TEX:=1): 'SB4_HS_TEX', (SB4_DS_TEX:=2): 'SB4_DS_TEX', (SB4_GS_TEX:=3): 'SB4_GS_TEX', (SB4_FS_TEX:=4): 'SB4_FS_TEX', (SB4_CS_TEX:=5): 'SB4_CS_TEX', (SB4_VS_SHADER:=8): 'SB4_VS_SHADER', (SB4_HS_SHADER:=9): 'SB4_HS_SHADER', (SB4_DS_SHADER:=10): 'SB4_DS_SHADER', (SB4_GS_SHADER:=11): 'SB4_GS_SHADER', (SB4_FS_SHADER:=12): 'SB4_FS_SHADER', (SB4_CS_SHADER:=13): 'SB4_CS_SHADER', (SB4_SSBO:=14): 'SB4_SSBO', (SB4_CS_SSBO:=15): 'SB4_CS_SSBO'}
enum_a4xx_state_type: dict[int, str] = {(ST4_SHADER:=0): 'ST4_SHADER', (ST4_CONSTANTS:=1): 'ST4_CONSTANTS', (ST4_UBO:=2): 'ST4_UBO'}
enum_a4xx_state_src: dict[int, str] = {(SS4_DIRECT:=0): 'SS4_DIRECT', (SS4_INDIRECT:=2): 'SS4_INDIRECT'}
enum_a6xx_state_block: dict[int, str] = {(SB6_VS_TEX:=0): 'SB6_VS_TEX', (SB6_HS_TEX:=1): 'SB6_HS_TEX', (SB6_DS_TEX:=2): 'SB6_DS_TEX', (SB6_GS_TEX:=3): 'SB6_GS_TEX', (SB6_FS_TEX:=4): 'SB6_FS_TEX', (SB6_CS_TEX:=5): 'SB6_CS_TEX', (SB6_VS_SHADER:=8): 'SB6_VS_SHADER', (SB6_HS_SHADER:=9): 'SB6_HS_SHADER', (SB6_DS_SHADER:=10): 'SB6_DS_SHADER', (SB6_GS_SHADER:=11): 'SB6_GS_SHADER', (SB6_FS_SHADER:=12): 'SB6_FS_SHADER', (SB6_CS_SHADER:=13): 'SB6_CS_SHADER', (SB6_UAV:=14): 'SB6_UAV', (SB6_CS_UAV:=15): 'SB6_CS_UAV'}
enum_a6xx_state_type: dict[int, str] = {(ST6_SHADER:=0): 'ST6_SHADER', (ST6_CONSTANTS:=1): 'ST6_CONSTANTS', (ST6_UBO:=2): 'ST6_UBO', (ST6_UAV:=3): 'ST6_UAV'}
enum_a6xx_state_src: dict[int, str] = {(SS6_DIRECT:=0): 'SS6_DIRECT', (SS6_BINDLESS:=1): 'SS6_BINDLESS', (SS6_INDIRECT:=2): 'SS6_INDIRECT', (SS6_UBO:=3): 'SS6_UBO'}
enum_a4xx_index_size: dict[int, str] = {(INDEX4_SIZE_8_BIT:=0): 'INDEX4_SIZE_8_BIT', (INDEX4_SIZE_16_BIT:=1): 'INDEX4_SIZE_16_BIT', (INDEX4_SIZE_32_BIT:=2): 'INDEX4_SIZE_32_BIT'}
enum_a6xx_patch_type: dict[int, str] = {(TESS_QUADS:=0): 'TESS_QUADS', (TESS_TRIANGLES:=1): 'TESS_TRIANGLES', (TESS_ISOLINES:=2): 'TESS_ISOLINES'}
enum_a6xx_draw_indirect_opcode: dict[int, str] = {(INDIRECT_OP_NORMAL:=2): 'INDIRECT_OP_NORMAL', (INDIRECT_OP_INDEXED:=4): 'INDIRECT_OP_INDEXED', (INDIRECT_OP_INDIRECT_COUNT:=6): 'INDIRECT_OP_INDIRECT_COUNT', (INDIRECT_OP_INDIRECT_COUNT_INDEXED:=7): 'INDIRECT_OP_INDIRECT_COUNT_INDEXED'}
enum_cp_draw_pred_src: dict[int, str] = {(PRED_SRC_MEM:=5): 'PRED_SRC_MEM'}
enum_cp_draw_pred_test: dict[int, str] = {(NE_0_PASS:=0): 'NE_0_PASS', (EQ_0_PASS:=1): 'EQ_0_PASS'}
enum_a7xx_abs_mask_mode: dict[int, str] = {(ABS_MASK:=1): 'ABS_MASK', (NO_ABS_MASK:=0): 'NO_ABS_MASK'}
enum_cp_cond_function: dict[int, str] = {(WRITE_ALWAYS:=0): 'WRITE_ALWAYS', (WRITE_LT:=1): 'WRITE_LT', (WRITE_LE:=2): 'WRITE_LE', (WRITE_EQ:=3): 'WRITE_EQ', (WRITE_NE:=4): 'WRITE_NE', (WRITE_GE:=5): 'WRITE_GE', (WRITE_GT:=6): 'WRITE_GT'}
enum_poll_memory_type: dict[int, str] = {(POLL_REGISTER:=0): 'POLL_REGISTER', (POLL_MEMORY:=1): 'POLL_MEMORY', (POLL_SCRATCH:=2): 'POLL_SCRATCH', (POLL_ON_CHIP:=3): 'POLL_ON_CHIP'}
enum_render_mode_cmd: dict[int, str] = {(BYPASS:=1): 'BYPASS', (BINNING:=2): 'BINNING', (GMEM:=3): 'GMEM', (BLIT2D:=5): 'BLIT2D', (BLIT2DSCALE:=7): 'BLIT2DSCALE', (END2D:=8): 'END2D'}
enum_event_write_src: dict[int, str] = {(EV_WRITE_USER_32B:=0): 'EV_WRITE_USER_32B', (EV_WRITE_USER_64B:=1): 'EV_WRITE_USER_64B', (EV_WRITE_TIMESTAMP_SUM:=2): 'EV_WRITE_TIMESTAMP_SUM', (EV_WRITE_ALWAYSON:=3): 'EV_WRITE_ALWAYSON', (EV_WRITE_REGS_CONTENT:=4): 'EV_WRITE_REGS_CONTENT'}
enum_event_write_dst: dict[int, str] = {(EV_DST_RAM:=0): 'EV_DST_RAM', (EV_DST_ONCHIP:=1): 'EV_DST_ONCHIP'}
enum_cp_blit_cmd: dict[int, str] = {(BLIT_OP_FILL:=0): 'BLIT_OP_FILL', (BLIT_OP_COPY:=1): 'BLIT_OP_COPY', (BLIT_OP_SCALE:=3): 'BLIT_OP_SCALE'}
enum_set_marker_mode: dict[int, str] = {(SET_RENDER_MODE:=0): 'SET_RENDER_MODE', (SET_IFPC_MODE:=1): 'SET_IFPC_MODE'}
enum_a6xx_ifpc_mode: dict[int, str] = {(IFPC_ENABLE:=0): 'IFPC_ENABLE', (IFPC_DISABLE:=1): 'IFPC_DISABLE'}
enum_a6xx_marker: dict[int, str] = {(RM6_DIRECT_RENDER:=1): 'RM6_DIRECT_RENDER', (RM6_BIN_VISIBILITY:=2): 'RM6_BIN_VISIBILITY', (RM6_BIN_DIRECT:=3): 'RM6_BIN_DIRECT', (RM6_BIN_RENDER_START:=4): 'RM6_BIN_RENDER_START', (RM6_BIN_END_OF_DRAWS:=5): 'RM6_BIN_END_OF_DRAWS', (RM6_BIN_RESOLVE:=6): 'RM6_BIN_RESOLVE', (RM6_BIN_RENDER_END:=7): 'RM6_BIN_RENDER_END', (RM6_COMPUTE:=8): 'RM6_COMPUTE', (RM6_BLIT2DSCALE:=12): 'RM6_BLIT2DSCALE', (RM6_IB1LIST_START:=13): 'RM6_IB1LIST_START', (RM6_IB1LIST_END:=14): 'RM6_IB1LIST_END'}
enum_pseudo_reg: dict[int, str] = {(SMMU_INFO:=0): 'SMMU_INFO', (NON_SECURE_SAVE_ADDR:=1): 'NON_SECURE_SAVE_ADDR', (SECURE_SAVE_ADDR:=2): 'SECURE_SAVE_ADDR', (NON_PRIV_SAVE_ADDR:=3): 'NON_PRIV_SAVE_ADDR', (COUNTER:=4): 'COUNTER', (VSC_PIPE_DATA_DRAW_BASE:=8): 'VSC_PIPE_DATA_DRAW_BASE', (VSC_SIZE_BASE:=9): 'VSC_SIZE_BASE', (VSC_PIPE_DATA_PRIM_BASE:=10): 'VSC_PIPE_DATA_PRIM_BASE', (UNK_STRM_ADDRESS:=11): 'UNK_STRM_ADDRESS', (UNK_STRM_SIZE_ADDRESS:=12): 'UNK_STRM_SIZE_ADDRESS', (BINDLESS_BASE_0_ADDR:=16): 'BINDLESS_BASE_0_ADDR', (BINDLESS_BASE_1_ADDR:=17): 'BINDLESS_BASE_1_ADDR', (BINDLESS_BASE_2_ADDR:=18): 'BINDLESS_BASE_2_ADDR', (BINDLESS_BASE_3_ADDR:=19): 'BINDLESS_BASE_3_ADDR', (BINDLESS_BASE_4_ADDR:=20): 'BINDLESS_BASE_4_ADDR', (BINDLESS_BASE_5_ADDR:=21): 'BINDLESS_BASE_5_ADDR', (BINDLESS_BASE_6_ADDR:=22): 'BINDLESS_BASE_6_ADDR'}
enum_source_type: dict[int, str] = {(SOURCE_REG:=0): 'SOURCE_REG', (SOURCE_SCRATCH_MEM:=1): 'SOURCE_SCRATCH_MEM'}
enum_compare_mode: dict[int, str] = {(PRED_TEST:=1): 'PRED_TEST', (REG_COMPARE:=2): 'REG_COMPARE', (RENDER_MODE:=3): 'RENDER_MODE', (REG_COMPARE_IMM:=4): 'REG_COMPARE_IMM', (THREAD_MODE:=5): 'THREAD_MODE'}
enum_amble_type: dict[int, str] = {(PREAMBLE_AMBLE_TYPE:=0): 'PREAMBLE_AMBLE_TYPE', (BIN_PREAMBLE_AMBLE_TYPE:=1): 'BIN_PREAMBLE_AMBLE_TYPE', (POSTAMBLE_AMBLE_TYPE:=2): 'POSTAMBLE_AMBLE_TYPE', (KMD_AMBLE_TYPE:=3): 'KMD_AMBLE_TYPE'}
enum_reg_tracker: dict[int, str] = {(TRACK_CNTL_REG:=1): 'TRACK_CNTL_REG', (TRACK_RENDER_CNTL:=2): 'TRACK_RENDER_CNTL', (UNK_EVENT_WRITE:=4): 'UNK_EVENT_WRITE', (TRACK_LRZ:=8): 'TRACK_LRZ'}
enum_ts_wait_value_src: dict[int, str] = {(TS_WAIT_GE_32B:=0): 'TS_WAIT_GE_32B', (TS_WAIT_GE_64B:=1): 'TS_WAIT_GE_64B', (TS_WAIT_GE_TIMESTAMP_SUM:=2): 'TS_WAIT_GE_TIMESTAMP_SUM'}
enum_ts_wait_type: dict[int, str] = {(TS_WAIT_RAM:=0): 'TS_WAIT_RAM', (TS_WAIT_ONCHIP:=1): 'TS_WAIT_ONCHIP'}
enum_pipe_count_op: dict[int, str] = {(PIPE_CLEAR_BV_BR:=1): 'PIPE_CLEAR_BV_BR', (PIPE_SET_BR_OFFSET:=2): 'PIPE_SET_BR_OFFSET', (PIPE_BR_WAIT_FOR_BV:=3): 'PIPE_BR_WAIT_FOR_BV', (PIPE_BV_WAIT_FOR_BR:=4): 'PIPE_BV_WAIT_FOR_BR'}
enum_timestamp_op: dict[int, str] = {(MODIFY_TIMESTAMP_CLEAR:=0): 'MODIFY_TIMESTAMP_CLEAR', (MODIFY_TIMESTAMP_ADD_GLOBAL:=1): 'MODIFY_TIMESTAMP_ADD_GLOBAL', (MODIFY_TIMESTAMP_ADD_LOCAL:=2): 'MODIFY_TIMESTAMP_ADD_LOCAL'}
enum_cp_thread: dict[int, str] = {(CP_SET_THREAD_BR:=1): 'CP_SET_THREAD_BR', (CP_SET_THREAD_BV:=2): 'CP_SET_THREAD_BV', (CP_SET_THREAD_BOTH:=3): 'CP_SET_THREAD_BOTH'}
enum_cp_scope: dict[int, str] = {(INTERRUPTS:=0): 'INTERRUPTS'}
enum_a6xx_tile_mode: dict[int, str] = {(TILE6_LINEAR:=0): 'TILE6_LINEAR', (TILE6_2:=2): 'TILE6_2', (TILE6_3:=3): 'TILE6_3'}
enum_a6xx_format: dict[int, str] = {(FMT6_A8_UNORM:=2): 'FMT6_A8_UNORM', (FMT6_8_UNORM:=3): 'FMT6_8_UNORM', (FMT6_8_SNORM:=4): 'FMT6_8_SNORM', (FMT6_8_UINT:=5): 'FMT6_8_UINT', (FMT6_8_SINT:=6): 'FMT6_8_SINT', (FMT6_4_4_4_4_UNORM:=8): 'FMT6_4_4_4_4_UNORM', (FMT6_5_5_5_1_UNORM:=10): 'FMT6_5_5_5_1_UNORM', (FMT6_1_5_5_5_UNORM:=12): 'FMT6_1_5_5_5_UNORM', (FMT6_5_6_5_UNORM:=14): 'FMT6_5_6_5_UNORM', (FMT6_8_8_UNORM:=15): 'FMT6_8_8_UNORM', (FMT6_8_8_SNORM:=16): 'FMT6_8_8_SNORM', (FMT6_8_8_UINT:=17): 'FMT6_8_8_UINT', (FMT6_8_8_SINT:=18): 'FMT6_8_8_SINT', (FMT6_L8_A8_UNORM:=19): 'FMT6_L8_A8_UNORM', (FMT6_16_UNORM:=21): 'FMT6_16_UNORM', (FMT6_16_SNORM:=22): 'FMT6_16_SNORM', (FMT6_16_FLOAT:=23): 'FMT6_16_FLOAT', (FMT6_16_UINT:=24): 'FMT6_16_UINT', (FMT6_16_SINT:=25): 'FMT6_16_SINT', (FMT6_8_8_8_UNORM:=33): 'FMT6_8_8_8_UNORM', (FMT6_8_8_8_SNORM:=34): 'FMT6_8_8_8_SNORM', (FMT6_8_8_8_UINT:=35): 'FMT6_8_8_8_UINT', (FMT6_8_8_8_SINT:=36): 'FMT6_8_8_8_SINT', (FMT6_8_8_8_8_UNORM:=48): 'FMT6_8_8_8_8_UNORM', (FMT6_8_8_8_X8_UNORM:=49): 'FMT6_8_8_8_X8_UNORM', (FMT6_8_8_8_8_SNORM:=50): 'FMT6_8_8_8_8_SNORM', (FMT6_8_8_8_8_UINT:=51): 'FMT6_8_8_8_8_UINT', (FMT6_8_8_8_8_SINT:=52): 'FMT6_8_8_8_8_SINT', (FMT6_9_9_9_E5_FLOAT:=53): 'FMT6_9_9_9_E5_FLOAT', (FMT6_10_10_10_2_UNORM:=54): 'FMT6_10_10_10_2_UNORM', (FMT6_10_10_10_2_UNORM_DEST:=55): 'FMT6_10_10_10_2_UNORM_DEST', (FMT6_10_10_10_2_SNORM:=57): 'FMT6_10_10_10_2_SNORM', (FMT6_10_10_10_2_UINT:=58): 'FMT6_10_10_10_2_UINT', (FMT6_10_10_10_2_SINT:=59): 'FMT6_10_10_10_2_SINT', (FMT6_11_11_10_FLOAT:=66): 'FMT6_11_11_10_FLOAT', (FMT6_16_16_UNORM:=67): 'FMT6_16_16_UNORM', (FMT6_16_16_SNORM:=68): 'FMT6_16_16_SNORM', (FMT6_16_16_FLOAT:=69): 'FMT6_16_16_FLOAT', (FMT6_16_16_UINT:=70): 'FMT6_16_16_UINT', (FMT6_16_16_SINT:=71): 'FMT6_16_16_SINT', (FMT6_32_UNORM:=72): 'FMT6_32_UNORM', (FMT6_32_SNORM:=73): 'FMT6_32_SNORM', (FMT6_32_FLOAT:=74): 'FMT6_32_FLOAT', (FMT6_32_UINT:=75): 'FMT6_32_UINT', (FMT6_32_SINT:=76): 'FMT6_32_SINT', (FMT6_32_FIXED:=77): 'FMT6_32_FIXED', (FMT6_16_16_16_UNORM:=88): 'FMT6_16_16_16_UNORM', (FMT6_16_16_16_SNORM:=89): 'FMT6_16_16_16_SNORM', (FMT6_16_16_16_FLOAT:=90): 'FMT6_16_16_16_FLOAT', (FMT6_16_16_16_UINT:=91): 'FMT6_16_16_16_UINT', (FMT6_16_16_16_SINT:=92): 'FMT6_16_16_16_SINT', (FMT6_16_16_16_16_UNORM:=96): 'FMT6_16_16_16_16_UNORM', (FMT6_16_16_16_16_SNORM:=97): 'FMT6_16_16_16_16_SNORM', (FMT6_16_16_16_16_FLOAT:=98): 'FMT6_16_16_16_16_FLOAT', (FMT6_16_16_16_16_UINT:=99): 'FMT6_16_16_16_16_UINT', (FMT6_16_16_16_16_SINT:=100): 'FMT6_16_16_16_16_SINT', (FMT6_32_32_UNORM:=101): 'FMT6_32_32_UNORM', (FMT6_32_32_SNORM:=102): 'FMT6_32_32_SNORM', (FMT6_32_32_FLOAT:=103): 'FMT6_32_32_FLOAT', (FMT6_32_32_UINT:=104): 'FMT6_32_32_UINT', (FMT6_32_32_SINT:=105): 'FMT6_32_32_SINT', (FMT6_32_32_FIXED:=106): 'FMT6_32_32_FIXED', (FMT6_32_32_32_UNORM:=112): 'FMT6_32_32_32_UNORM', (FMT6_32_32_32_SNORM:=113): 'FMT6_32_32_32_SNORM', (FMT6_32_32_32_UINT:=114): 'FMT6_32_32_32_UINT', (FMT6_32_32_32_SINT:=115): 'FMT6_32_32_32_SINT', (FMT6_32_32_32_FLOAT:=116): 'FMT6_32_32_32_FLOAT', (FMT6_32_32_32_FIXED:=117): 'FMT6_32_32_32_FIXED', (FMT6_32_32_32_32_UNORM:=128): 'FMT6_32_32_32_32_UNORM', (FMT6_32_32_32_32_SNORM:=129): 'FMT6_32_32_32_32_SNORM', (FMT6_32_32_32_32_FLOAT:=130): 'FMT6_32_32_32_32_FLOAT', (FMT6_32_32_32_32_UINT:=131): 'FMT6_32_32_32_32_UINT', (FMT6_32_32_32_32_SINT:=132): 'FMT6_32_32_32_32_SINT', (FMT6_32_32_32_32_FIXED:=133): 'FMT6_32_32_32_32_FIXED', (FMT6_G8R8B8R8_422_UNORM:=140): 'FMT6_G8R8B8R8_422_UNORM', (FMT6_R8G8R8B8_422_UNORM:=141): 'FMT6_R8G8R8B8_422_UNORM', (FMT6_R8_G8B8_2PLANE_420_UNORM:=142): 'FMT6_R8_G8B8_2PLANE_420_UNORM', (FMT6_NV21:=143): 'FMT6_NV21', (FMT6_R8_G8_B8_3PLANE_420_UNORM:=144): 'FMT6_R8_G8_B8_3PLANE_420_UNORM', (FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8:=145): 'FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8', (FMT6_NV12_Y:=148): 'FMT6_NV12_Y', (FMT6_NV12_UV:=149): 'FMT6_NV12_UV', (FMT6_NV12_VU:=150): 'FMT6_NV12_VU', (FMT6_NV12_4R:=151): 'FMT6_NV12_4R', (FMT6_NV12_4R_Y:=152): 'FMT6_NV12_4R_Y', (FMT6_NV12_4R_UV:=153): 'FMT6_NV12_4R_UV', (FMT6_P010:=154): 'FMT6_P010', (FMT6_P010_Y:=155): 'FMT6_P010_Y', (FMT6_P010_UV:=156): 'FMT6_P010_UV', (FMT6_TP10:=157): 'FMT6_TP10', (FMT6_TP10_Y:=158): 'FMT6_TP10_Y', (FMT6_TP10_UV:=159): 'FMT6_TP10_UV', (FMT6_Z24_UNORM_S8_UINT:=160): 'FMT6_Z24_UNORM_S8_UINT', (FMT6_ETC2_RG11_UNORM:=171): 'FMT6_ETC2_RG11_UNORM', (FMT6_ETC2_RG11_SNORM:=172): 'FMT6_ETC2_RG11_SNORM', (FMT6_ETC2_R11_UNORM:=173): 'FMT6_ETC2_R11_UNORM', (FMT6_ETC2_R11_SNORM:=174): 'FMT6_ETC2_R11_SNORM', (FMT6_ETC1:=175): 'FMT6_ETC1', (FMT6_ETC2_RGB8:=176): 'FMT6_ETC2_RGB8', (FMT6_ETC2_RGBA8:=177): 'FMT6_ETC2_RGBA8', (FMT6_ETC2_RGB8A1:=178): 'FMT6_ETC2_RGB8A1', (FMT6_DXT1:=179): 'FMT6_DXT1', (FMT6_DXT3:=180): 'FMT6_DXT3', (FMT6_DXT5:=181): 'FMT6_DXT5', (FMT6_RGTC1_UNORM:=182): 'FMT6_RGTC1_UNORM', (FMT6_RGTC1_UNORM_FAST:=183): 'FMT6_RGTC1_UNORM_FAST', (FMT6_RGTC1_SNORM:=184): 'FMT6_RGTC1_SNORM', (FMT6_RGTC1_SNORM_FAST:=185): 'FMT6_RGTC1_SNORM_FAST', (FMT6_RGTC2_UNORM:=186): 'FMT6_RGTC2_UNORM', (FMT6_RGTC2_UNORM_FAST:=187): 'FMT6_RGTC2_UNORM_FAST', (FMT6_RGTC2_SNORM:=188): 'FMT6_RGTC2_SNORM', (FMT6_RGTC2_SNORM_FAST:=189): 'FMT6_RGTC2_SNORM_FAST', (FMT6_BPTC_UFLOAT:=190): 'FMT6_BPTC_UFLOAT', (FMT6_BPTC_FLOAT:=191): 'FMT6_BPTC_FLOAT', (FMT6_BPTC:=192): 'FMT6_BPTC', (FMT6_ASTC_4x4:=193): 'FMT6_ASTC_4x4', (FMT6_ASTC_5x4:=194): 'FMT6_ASTC_5x4', (FMT6_ASTC_5x5:=195): 'FMT6_ASTC_5x5', (FMT6_ASTC_6x5:=196): 'FMT6_ASTC_6x5', (FMT6_ASTC_6x6:=197): 'FMT6_ASTC_6x6', (FMT6_ASTC_8x5:=198): 'FMT6_ASTC_8x5', (FMT6_ASTC_8x6:=199): 'FMT6_ASTC_8x6', (FMT6_ASTC_8x8:=200): 'FMT6_ASTC_8x8', (FMT6_ASTC_10x5:=201): 'FMT6_ASTC_10x5', (FMT6_ASTC_10x6:=202): 'FMT6_ASTC_10x6', (FMT6_ASTC_10x8:=203): 'FMT6_ASTC_10x8', (FMT6_ASTC_10x10:=204): 'FMT6_ASTC_10x10', (FMT6_ASTC_12x10:=205): 'FMT6_ASTC_12x10', (FMT6_ASTC_12x12:=206): 'FMT6_ASTC_12x12', (FMT6_Z24_UINT_S8_UINT:=234): 'FMT6_Z24_UINT_S8_UINT', (FMT6_NONE:=255): 'FMT6_NONE'}
enum_a6xx_polygon_mode: dict[int, str] = {(POLYMODE6_POINTS:=1): 'POLYMODE6_POINTS', (POLYMODE6_LINES:=2): 'POLYMODE6_LINES', (POLYMODE6_TRIANGLES:=3): 'POLYMODE6_TRIANGLES'}
enum_a6xx_depth_format: dict[int, str] = {(DEPTH6_NONE:=0): 'DEPTH6_NONE', (DEPTH6_16:=1): 'DEPTH6_16', (DEPTH6_24_8:=2): 'DEPTH6_24_8', (DEPTH6_32:=4): 'DEPTH6_32'}
enum_a6xx_shader_id: dict[int, str] = {(A6XX_TP0_TMO_DATA:=9): 'A6XX_TP0_TMO_DATA', (A6XX_TP0_SMO_DATA:=10): 'A6XX_TP0_SMO_DATA', (A6XX_TP0_MIPMAP_BASE_DATA:=11): 'A6XX_TP0_MIPMAP_BASE_DATA', (A6XX_TP1_TMO_DATA:=25): 'A6XX_TP1_TMO_DATA', (A6XX_TP1_SMO_DATA:=26): 'A6XX_TP1_SMO_DATA', (A6XX_TP1_MIPMAP_BASE_DATA:=27): 'A6XX_TP1_MIPMAP_BASE_DATA', (A6XX_SP_INST_DATA:=41): 'A6XX_SP_INST_DATA', (A6XX_SP_LB_0_DATA:=42): 'A6XX_SP_LB_0_DATA', (A6XX_SP_LB_1_DATA:=43): 'A6XX_SP_LB_1_DATA', (A6XX_SP_LB_2_DATA:=44): 'A6XX_SP_LB_2_DATA', (A6XX_SP_LB_3_DATA:=45): 'A6XX_SP_LB_3_DATA', (A6XX_SP_LB_4_DATA:=46): 'A6XX_SP_LB_4_DATA', (A6XX_SP_LB_5_DATA:=47): 'A6XX_SP_LB_5_DATA', (A6XX_SP_CB_BINDLESS_DATA:=48): 'A6XX_SP_CB_BINDLESS_DATA', (A6XX_SP_CB_LEGACY_DATA:=49): 'A6XX_SP_CB_LEGACY_DATA', (A6XX_SP_GFX_UAV_BASE_DATA:=50): 'A6XX_SP_GFX_UAV_BASE_DATA', (A6XX_SP_INST_TAG:=51): 'A6XX_SP_INST_TAG', (A6XX_SP_CB_BINDLESS_TAG:=52): 'A6XX_SP_CB_BINDLESS_TAG', (A6XX_SP_TMO_UMO_TAG:=53): 'A6XX_SP_TMO_UMO_TAG', (A6XX_SP_SMO_TAG:=54): 'A6XX_SP_SMO_TAG', (A6XX_SP_STATE_DATA:=55): 'A6XX_SP_STATE_DATA', (A6XX_HLSQ_CHUNK_CVS_RAM:=73): 'A6XX_HLSQ_CHUNK_CVS_RAM', (A6XX_HLSQ_CHUNK_CPS_RAM:=74): 'A6XX_HLSQ_CHUNK_CPS_RAM', (A6XX_HLSQ_CHUNK_CVS_RAM_TAG:=75): 'A6XX_HLSQ_CHUNK_CVS_RAM_TAG', (A6XX_HLSQ_CHUNK_CPS_RAM_TAG:=76): 'A6XX_HLSQ_CHUNK_CPS_RAM_TAG', (A6XX_HLSQ_ICB_CVS_CB_BASE_TAG:=77): 'A6XX_HLSQ_ICB_CVS_CB_BASE_TAG', (A6XX_HLSQ_ICB_CPS_CB_BASE_TAG:=78): 'A6XX_HLSQ_ICB_CPS_CB_BASE_TAG', (A6XX_HLSQ_CVS_MISC_RAM:=80): 'A6XX_HLSQ_CVS_MISC_RAM', (A6XX_HLSQ_CPS_MISC_RAM:=81): 'A6XX_HLSQ_CPS_MISC_RAM', (A6XX_HLSQ_INST_RAM:=82): 'A6XX_HLSQ_INST_RAM', (A6XX_HLSQ_GFX_CVS_CONST_RAM:=83): 'A6XX_HLSQ_GFX_CVS_CONST_RAM', (A6XX_HLSQ_GFX_CPS_CONST_RAM:=84): 'A6XX_HLSQ_GFX_CPS_CONST_RAM', (A6XX_HLSQ_CVS_MISC_RAM_TAG:=85): 'A6XX_HLSQ_CVS_MISC_RAM_TAG', (A6XX_HLSQ_CPS_MISC_RAM_TAG:=86): 'A6XX_HLSQ_CPS_MISC_RAM_TAG', (A6XX_HLSQ_INST_RAM_TAG:=87): 'A6XX_HLSQ_INST_RAM_TAG', (A6XX_HLSQ_GFX_CVS_CONST_RAM_TAG:=88): 'A6XX_HLSQ_GFX_CVS_CONST_RAM_TAG', (A6XX_HLSQ_GFX_CPS_CONST_RAM_TAG:=89): 'A6XX_HLSQ_GFX_CPS_CONST_RAM_TAG', (A6XX_HLSQ_PWR_REST_RAM:=90): 'A6XX_HLSQ_PWR_REST_RAM', (A6XX_HLSQ_PWR_REST_TAG:=91): 'A6XX_HLSQ_PWR_REST_TAG', (A6XX_HLSQ_DATAPATH_META:=96): 'A6XX_HLSQ_DATAPATH_META', (A6XX_HLSQ_FRONTEND_META:=97): 'A6XX_HLSQ_FRONTEND_META', (A6XX_HLSQ_INDIRECT_META:=98): 'A6XX_HLSQ_INDIRECT_META', (A6XX_HLSQ_BACKEND_META:=99): 'A6XX_HLSQ_BACKEND_META', (A6XX_SP_LB_6_DATA:=112): 'A6XX_SP_LB_6_DATA', (A6XX_SP_LB_7_DATA:=113): 'A6XX_SP_LB_7_DATA', (A6XX_HLSQ_INST_RAM_1:=115): 'A6XX_HLSQ_INST_RAM_1'}
enum_a6xx_debugbus_id: dict[int, str] = {(A6XX_DBGBUS_CP:=1): 'A6XX_DBGBUS_CP', (A6XX_DBGBUS_RBBM:=2): 'A6XX_DBGBUS_RBBM', (A6XX_DBGBUS_VBIF:=3): 'A6XX_DBGBUS_VBIF', (A6XX_DBGBUS_HLSQ:=4): 'A6XX_DBGBUS_HLSQ', (A6XX_DBGBUS_UCHE:=5): 'A6XX_DBGBUS_UCHE', (A6XX_DBGBUS_DPM:=6): 'A6XX_DBGBUS_DPM', (A6XX_DBGBUS_TESS:=7): 'A6XX_DBGBUS_TESS', (A6XX_DBGBUS_PC:=8): 'A6XX_DBGBUS_PC', (A6XX_DBGBUS_VFDP:=9): 'A6XX_DBGBUS_VFDP', (A6XX_DBGBUS_VPC:=10): 'A6XX_DBGBUS_VPC', (A6XX_DBGBUS_TSE:=11): 'A6XX_DBGBUS_TSE', (A6XX_DBGBUS_RAS:=12): 'A6XX_DBGBUS_RAS', (A6XX_DBGBUS_VSC:=13): 'A6XX_DBGBUS_VSC', (A6XX_DBGBUS_COM:=14): 'A6XX_DBGBUS_COM', (A6XX_DBGBUS_LRZ:=16): 'A6XX_DBGBUS_LRZ', (A6XX_DBGBUS_A2D:=17): 'A6XX_DBGBUS_A2D', (A6XX_DBGBUS_CCUFCHE:=18): 'A6XX_DBGBUS_CCUFCHE', (A6XX_DBGBUS_GMU_CX:=19): 'A6XX_DBGBUS_GMU_CX', (A6XX_DBGBUS_RBP:=20): 'A6XX_DBGBUS_RBP', (A6XX_DBGBUS_DCS:=21): 'A6XX_DBGBUS_DCS', (A6XX_DBGBUS_DBGC:=22): 'A6XX_DBGBUS_DBGC', (A6XX_DBGBUS_CX:=23): 'A6XX_DBGBUS_CX', (A6XX_DBGBUS_GMU_GX:=24): 'A6XX_DBGBUS_GMU_GX', (A6XX_DBGBUS_TPFCHE:=25): 'A6XX_DBGBUS_TPFCHE', (A6XX_DBGBUS_GBIF_GX:=26): 'A6XX_DBGBUS_GBIF_GX', (A6XX_DBGBUS_GPC:=29): 'A6XX_DBGBUS_GPC', (A6XX_DBGBUS_LARC:=30): 'A6XX_DBGBUS_LARC', (A6XX_DBGBUS_HLSQ_SPTP:=31): 'A6XX_DBGBUS_HLSQ_SPTP', (A6XX_DBGBUS_RB_0:=32): 'A6XX_DBGBUS_RB_0', (A6XX_DBGBUS_RB_1:=33): 'A6XX_DBGBUS_RB_1', (A6XX_DBGBUS_RB_2:=34): 'A6XX_DBGBUS_RB_2', (A6XX_DBGBUS_UCHE_WRAPPER:=36): 'A6XX_DBGBUS_UCHE_WRAPPER', (A6XX_DBGBUS_CCU_0:=40): 'A6XX_DBGBUS_CCU_0', (A6XX_DBGBUS_CCU_1:=41): 'A6XX_DBGBUS_CCU_1', (A6XX_DBGBUS_CCU_2:=42): 'A6XX_DBGBUS_CCU_2', (A6XX_DBGBUS_VFD_0:=56): 'A6XX_DBGBUS_VFD_0', (A6XX_DBGBUS_VFD_1:=57): 'A6XX_DBGBUS_VFD_1', (A6XX_DBGBUS_VFD_2:=58): 'A6XX_DBGBUS_VFD_2', (A6XX_DBGBUS_VFD_3:=59): 'A6XX_DBGBUS_VFD_3', (A6XX_DBGBUS_VFD_4:=60): 'A6XX_DBGBUS_VFD_4', (A6XX_DBGBUS_VFD_5:=61): 'A6XX_DBGBUS_VFD_5', (A6XX_DBGBUS_SP_0:=64): 'A6XX_DBGBUS_SP_0', (A6XX_DBGBUS_SP_1:=65): 'A6XX_DBGBUS_SP_1', (A6XX_DBGBUS_SP_2:=66): 'A6XX_DBGBUS_SP_2', (A6XX_DBGBUS_TPL1_0:=72): 'A6XX_DBGBUS_TPL1_0', (A6XX_DBGBUS_TPL1_1:=73): 'A6XX_DBGBUS_TPL1_1', (A6XX_DBGBUS_TPL1_2:=74): 'A6XX_DBGBUS_TPL1_2', (A6XX_DBGBUS_TPL1_3:=75): 'A6XX_DBGBUS_TPL1_3', (A6XX_DBGBUS_TPL1_4:=76): 'A6XX_DBGBUS_TPL1_4', (A6XX_DBGBUS_TPL1_5:=77): 'A6XX_DBGBUS_TPL1_5', (A6XX_DBGBUS_SPTP_0:=88): 'A6XX_DBGBUS_SPTP_0', (A6XX_DBGBUS_SPTP_1:=89): 'A6XX_DBGBUS_SPTP_1', (A6XX_DBGBUS_SPTP_2:=90): 'A6XX_DBGBUS_SPTP_2', (A6XX_DBGBUS_SPTP_3:=91): 'A6XX_DBGBUS_SPTP_3', (A6XX_DBGBUS_SPTP_4:=92): 'A6XX_DBGBUS_SPTP_4', (A6XX_DBGBUS_SPTP_5:=93): 'A6XX_DBGBUS_SPTP_5'}
enum_a6xx_2d_ifmt: dict[int, str] = {(R2D_INT32:=7): 'R2D_INT32', (R2D_INT16:=6): 'R2D_INT16', (R2D_INT8:=5): 'R2D_INT8', (R2D_FLOAT32:=4): 'R2D_FLOAT32', (R2D_FLOAT16:=3): 'R2D_FLOAT16', (R2D_SNORM8:=2): 'R2D_SNORM8', (R2D_UNORM8_SRGB:=1): 'R2D_UNORM8_SRGB', (R2D_UNORM8:=0): 'R2D_UNORM8'}
enum_a6xx_tex_type: dict[int, str] = {(A6XX_TEX_1D:=0): 'A6XX_TEX_1D', (A6XX_TEX_2D:=1): 'A6XX_TEX_2D', (A6XX_TEX_CUBE:=2): 'A6XX_TEX_CUBE', (A6XX_TEX_3D:=3): 'A6XX_TEX_3D', (A6XX_TEX_BUFFER:=4): 'A6XX_TEX_BUFFER', (A6XX_TEX_IMG_BUFFER:=5): 'A6XX_TEX_IMG_BUFFER'}
enum_a6xx_ztest_mode: dict[int, str] = {(A6XX_EARLY_Z:=0): 'A6XX_EARLY_Z', (A6XX_LATE_Z:=1): 'A6XX_LATE_Z', (A6XX_EARLY_Z_LATE_Z:=2): 'A6XX_EARLY_Z_LATE_Z', (A6XX_INVALID_ZTEST:=3): 'A6XX_INVALID_ZTEST'}
enum_a6xx_tess_spacing: dict[int, str] = {(TESS_EQUAL:=0): 'TESS_EQUAL', (TESS_FRACTIONAL_ODD:=2): 'TESS_FRACTIONAL_ODD', (TESS_FRACTIONAL_EVEN:=3): 'TESS_FRACTIONAL_EVEN'}
enum_a6xx_tess_output: dict[int, str] = {(TESS_POINTS:=0): 'TESS_POINTS', (TESS_LINES:=1): 'TESS_LINES', (TESS_CW_TRIS:=2): 'TESS_CW_TRIS', (TESS_CCW_TRIS:=3): 'TESS_CCW_TRIS'}
enum_a6xx_tex_filter: dict[int, str] = {(A6XX_TEX_NEAREST:=0): 'A6XX_TEX_NEAREST', (A6XX_TEX_LINEAR:=1): 'A6XX_TEX_LINEAR', (A6XX_TEX_ANISO:=2): 'A6XX_TEX_ANISO', (A6XX_TEX_CUBIC:=3): 'A6XX_TEX_CUBIC'}
enum_a6xx_tex_clamp: dict[int, str] = {(A6XX_TEX_REPEAT:=0): 'A6XX_TEX_REPEAT', (A6XX_TEX_CLAMP_TO_EDGE:=1): 'A6XX_TEX_CLAMP_TO_EDGE', (A6XX_TEX_MIRROR_REPEAT:=2): 'A6XX_TEX_MIRROR_REPEAT', (A6XX_TEX_CLAMP_TO_BORDER:=3): 'A6XX_TEX_CLAMP_TO_BORDER', (A6XX_TEX_MIRROR_CLAMP:=4): 'A6XX_TEX_MIRROR_CLAMP'}
enum_a6xx_tex_aniso: dict[int, str] = {(A6XX_TEX_ANISO_1:=0): 'A6XX_TEX_ANISO_1', (A6XX_TEX_ANISO_2:=1): 'A6XX_TEX_ANISO_2', (A6XX_TEX_ANISO_4:=2): 'A6XX_TEX_ANISO_4', (A6XX_TEX_ANISO_8:=3): 'A6XX_TEX_ANISO_8', (A6XX_TEX_ANISO_16:=4): 'A6XX_TEX_ANISO_16'}
enum_a6xx_reduction_mode: dict[int, str] = {(A6XX_REDUCTION_MODE_AVERAGE:=0): 'A6XX_REDUCTION_MODE_AVERAGE', (A6XX_REDUCTION_MODE_MIN:=1): 'A6XX_REDUCTION_MODE_MIN', (A6XX_REDUCTION_MODE_MAX:=2): 'A6XX_REDUCTION_MODE_MAX'}
enum_a6xx_fast_border_color: dict[int, str] = {(A6XX_BORDER_COLOR_0_0_0_0:=0): 'A6XX_BORDER_COLOR_0_0_0_0', (A6XX_BORDER_COLOR_0_0_0_1:=1): 'A6XX_BORDER_COLOR_0_0_0_1', (A6XX_BORDER_COLOR_1_1_1_0:=2): 'A6XX_BORDER_COLOR_1_1_1_0', (A6XX_BORDER_COLOR_1_1_1_1:=3): 'A6XX_BORDER_COLOR_1_1_1_1'}
enum_a6xx_tex_swiz: dict[int, str] = {(A6XX_TEX_X:=0): 'A6XX_TEX_X', (A6XX_TEX_Y:=1): 'A6XX_TEX_Y', (A6XX_TEX_Z:=2): 'A6XX_TEX_Z', (A6XX_TEX_W:=3): 'A6XX_TEX_W', (A6XX_TEX_ZERO:=4): 'A6XX_TEX_ZERO', (A6XX_TEX_ONE:=5): 'A6XX_TEX_ONE'}
NIR_DEBUG_CLONE = (1 << 0)
NIR_DEBUG_SERIALIZE = (1 << 1)
NIR_DEBUG_NOVALIDATE = (1 << 2)
NIR_DEBUG_EXTENDED_VALIDATION = (1 << 3)
NIR_DEBUG_TGSI = (1 << 4)
NIR_DEBUG_PRINT_VS = (1 << 5)
NIR_DEBUG_PRINT_TCS = (1 << 6)
NIR_DEBUG_PRINT_TES = (1 << 7)
NIR_DEBUG_PRINT_GS = (1 << 8)
NIR_DEBUG_PRINT_FS = (1 << 9)
NIR_DEBUG_PRINT_CS = (1 << 10)
NIR_DEBUG_PRINT_TS = (1 << 11)
NIR_DEBUG_PRINT_MS = (1 << 12)
NIR_DEBUG_PRINT_RGS = (1 << 13)
NIR_DEBUG_PRINT_AHS = (1 << 14)
NIR_DEBUG_PRINT_CHS = (1 << 15)
NIR_DEBUG_PRINT_MHS = (1 << 16)
NIR_DEBUG_PRINT_IS = (1 << 17)
NIR_DEBUG_PRINT_CBS = (1 << 18)
NIR_DEBUG_PRINT_KS = (1 << 19)
NIR_DEBUG_PRINT_NO_INLINE_CONSTS = (1 << 20)
NIR_DEBUG_PRINT_INTERNAL = (1 << 21)
NIR_DEBUG_PRINT_PASS_FLAGS = (1 << 22)
NIR_DEBUG_INVALIDATE_METADATA = (1 << 23)
NIR_DEBUG_PRINT_STRUCT_DECLS = (1 << 24)
NIR_DEBUG_PRINT = (NIR_DEBUG_PRINT_VS | NIR_DEBUG_PRINT_TCS | NIR_DEBUG_PRINT_TES | NIR_DEBUG_PRINT_GS | NIR_DEBUG_PRINT_FS | NIR_DEBUG_PRINT_CS | NIR_DEBUG_PRINT_TS | NIR_DEBUG_PRINT_MS | NIR_DEBUG_PRINT_RGS | NIR_DEBUG_PRINT_AHS | NIR_DEBUG_PRINT_CHS | NIR_DEBUG_PRINT_MHS | NIR_DEBUG_PRINT_IS | NIR_DEBUG_PRINT_CBS | NIR_DEBUG_PRINT_KS)
NIR_FALSE = 0
NIR_TRUE = (~0)
NIR_MAX_VEC_COMPONENTS = 16
NIR_MAX_MATRIX_COLUMNS = 4
NIR_STREAM_PACKED = (1 << 8)
NIR_VARIABLE_NO_INDEX = ~0
nir_foreach_variable_in_list = lambda var,var_list: foreach_list_typed(nir_variable, var, node, var_list) # type: ignore
nir_foreach_variable_in_list_safe = lambda var,var_list: foreach_list_typed_safe(nir_variable, var, node, var_list) # type: ignore
nir_foreach_shader_in_variable = lambda var,shader: nir_foreach_variable_with_modes(var, shader, nir_var_shader_in) # type: ignore
nir_foreach_shader_in_variable_safe = lambda var,shader: nir_foreach_variable_with_modes_safe(var, shader, nir_var_shader_in) # type: ignore
nir_foreach_shader_out_variable = lambda var,shader: nir_foreach_variable_with_modes(var, shader, nir_var_shader_out) # type: ignore
nir_foreach_shader_out_variable_safe = lambda var,shader: nir_foreach_variable_with_modes_safe(var, shader, nir_var_shader_out) # type: ignore
nir_foreach_uniform_variable = lambda var,shader: nir_foreach_variable_with_modes(var, shader, nir_var_uniform) # type: ignore
nir_foreach_uniform_variable_safe = lambda var,shader: nir_foreach_variable_with_modes_safe(var, shader, nir_var_uniform) # type: ignore
nir_foreach_image_variable = lambda var,shader: nir_foreach_variable_with_modes(var, shader, nir_var_image) # type: ignore
nir_foreach_image_variable_safe = lambda var,shader: nir_foreach_variable_with_modes_safe(var, shader, nir_var_image) # type: ignore
NIR_SRC_PARENT_IS_IF = (0x1)
NIR_ALU_MAX_INPUTS = NIR_MAX_VEC_COMPONENTS
NIR_INTRINSIC_MAX_CONST_INDEX = 8
NIR_ALIGN_MUL_MAX = 0x40000000
NIR_INTRINSIC_MAX_INPUTS = 11
nir_log_shadere = lambda s: nir_log_shader_annotated_tagged(MESA_LOG_ERROR, (MESA_LOG_TAG), (s), NULL) # type: ignore
nir_log_shaderw = lambda s: nir_log_shader_annotated_tagged(MESA_LOG_WARN, (MESA_LOG_TAG), (s), NULL) # type: ignore
nir_log_shaderi = lambda s: nir_log_shader_annotated_tagged(MESA_LOG_INFO, (MESA_LOG_TAG), (s), NULL) # type: ignore
nir_log_shader_annotated = lambda s,annotations: nir_log_shader_annotated_tagged(MESA_LOG_ERROR, (MESA_LOG_TAG), (s), annotations) # type: ignore
NIR_STRINGIZE = lambda x: NIR_STRINGIZE_INNER(x) # type: ignore
NVIDIA_VENDOR_ID = 0x10de
NAK_SUBGROUP_SIZE = 32
NAK_QMD_ALIGN_B = 256
NAK_MAX_QMD_SIZE_B = 384
NAK_MAX_QMD_DWORDS = (NAK_MAX_QMD_SIZE_B / 4)
LP_MAX_VECTOR_WIDTH = 512
LP_MIN_VECTOR_ALIGN = 64
LP_MAX_VECTOR_LENGTH = (LP_MAX_VECTOR_WIDTH/8)
LP_RESV_FUNC_ARGS = 2
LP_JIT_TEXTURE_SAMPLE_STRIDE = 15
lp_jit_resources_constants = lambda _gallivm,_type,_ptr: lp_build_struct__get_ptr2(_gallivm, _type, _ptr, LP_JIT_RES_CONSTANTS, "constants") # type: ignore
lp_jit_resources_ssbos = lambda _gallivm,_type,_ptr: lp_build_struct__get_ptr2(_gallivm, _type, _ptr, LP_JIT_RES_SSBOS, "ssbos") # type: ignore
lp_jit_resources_textures = lambda _gallivm,_type,_ptr: lp_build_struct__get_ptr2(_gallivm, _type, _ptr, LP_JIT_RES_TEXTURES, "textures") # type: ignore
lp_jit_resources_samplers = lambda _gallivm,_type,_ptr: lp_build_struct__get_ptr2(_gallivm, _type, _ptr, LP_JIT_RES_SAMPLERS, "samplers") # type: ignore
lp_jit_resources_images = lambda _gallivm,_type,_ptr: lp_build_struct__get_ptr2(_gallivm, _type, _ptr, LP_JIT_RES_IMAGES, "images") # type: ignore
lp_jit_vertex_header_id = lambda _gallivm,_type,_ptr: lp_build_struct__get_ptr2(_gallivm, _type, _ptr, LP_JIT_VERTEX_HEADER_VERTEX_ID, "id") # type: ignore
lp_jit_vertex_header_clip_pos = lambda _gallivm,_type,_ptr: lp_build_struct__get_ptr2(_gallivm, _type, _ptr, LP_JIT_VERTEX_HEADER_CLIP_POS, "clip_pos") # type: ignore
lp_jit_vertex_header_data = lambda _gallivm,_type,_ptr: lp_build_struct__get_ptr2(_gallivm, _type, _ptr, LP_JIT_VERTEX_HEADER_DATA, "data") # type: ignore
LP_MAX_TEX_FUNC_ARGS = 32
A6XX_CCU_DEPTH_SIZE = (64 * 1024)
A6XX_CCU_GMEM_COLOR_SIZE = (16 * 1024)
dword_offsetof = lambda type,name: DIV_ROUND_UP(offsetof(type, name), 4) # type: ignore
dword_sizeof = lambda type: DIV_ROUND_UP(sizeof(type), 4) # type: ignore
IR3_DP_CS = lambda name: dword_offsetof(struct_ir3_driver_params_cs, name) # type: ignore
IR3_DP_VS = lambda name: dword_offsetof(struct_ir3_driver_params_vs, name) # type: ignore
IR3_DP_TCS = lambda name: dword_offsetof(struct_ir3_driver_params_tcs, name) # type: ignore
IR3_DP_FS = lambda name: dword_offsetof(struct_ir3_driver_params_fs, name) # type: ignore
IR3_MAX_SHADER_BUFFERS = 32
IR3_MAX_SHADER_IMAGES = 32
IR3_MAX_SO_BUFFERS = 4
IR3_MAX_SO_STREAMS = 4
IR3_MAX_SO_OUTPUTS = 128
IR3_MAX_UBO_PUSH_RANGES = 32
IR3_MAX_SAMPLER_PREFETCH = 4
IR3_SAMPLER_PREFETCH_CMD = 0x4
IR3_SAMPLER_BINDLESS_PREFETCH_CMD = 0x6
IR3_TESS_NONE = 0
IR3_TESS_QUADS = 1
IR3_TESS_TRIANGLES = 2
IR3_TESS_ISOLINES = 3
UAV_INVALID = 0xff
UAV_SSBO = 0x80
HALF_REG_ID = 0x100
gc_alloc = lambda ctx,type,count: gc_alloc_size(ctx, sizeof(type) * (count), alignof(type)) # type: ignore
gc_zalloc = lambda ctx,type,count: gc_zalloc_size(ctx, sizeof(type) * (count), alignof(type)) # type: ignore
gc_alloc_zla = lambda ctx,type,type2,count: gc_alloc_size(ctx, sizeof(type) + sizeof(type2) * (count), MAX2(alignof(type), alignof(type2))) # type: ignore
gc_zalloc_zla = lambda ctx,type,type2,count: gc_zalloc_size(ctx, sizeof(type) + sizeof(type2) * (count), MAX2(alignof(type), alignof(type2))) # type: ignore
DECLARE_RALLOC_CXX_OPERATORS = lambda type: DECLARE_RALLOC_CXX_OPERATORS_TEMPLATE(type, ralloc_size) # type: ignore
DECLARE_RZALLOC_CXX_OPERATORS = lambda type: DECLARE_RALLOC_CXX_OPERATORS_TEMPLATE(type, rzalloc_size) # type: ignore
DECLARE_LINEAR_ALLOC_CXX_OPERATORS = lambda type: DECLARE_LINEAR_ALLOC_CXX_OPERATORS_TEMPLATE(type, linear_alloc_child) # type: ignore
DECLARE_LINEAR_ZALLOC_CXX_OPERATORS = lambda type: DECLARE_LINEAR_ALLOC_CXX_OPERATORS_TEMPLATE(type, linear_zalloc_child) # type: ignore
ISA_GPU_ID = lambda: ir3_isa_get_gpu_id(scope) # type: ignore
__struct__cast = lambda X: (struct_X) # type: ignore
A6XX_RBBM_INT_0_MASK_RBBM_GPU_IDLE = 0x00000001
A6XX_RBBM_INT_0_MASK_CP_AHB_ERROR = 0x00000002
A6XX_RBBM_INT_0_MASK_CP_IPC_INTR_0 = 0x00000010
A6XX_RBBM_INT_0_MASK_CP_IPC_INTR_1 = 0x00000020
A6XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNCFIFO_OVERFLOW = 0x00000040
A6XX_RBBM_INT_0_MASK_RBBM_GPC_ERROR = 0x00000080
A6XX_RBBM_INT_0_MASK_CP_SW = 0x00000100
A6XX_RBBM_INT_0_MASK_CP_HW_ERROR = 0x00000200
A6XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_DEPTH_TS = 0x00000400
A6XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_COLOR_TS = 0x00000800
A6XX_RBBM_INT_0_MASK_CP_CCU_RESOLVE_TS = 0x00001000
A6XX_RBBM_INT_0_MASK_CP_IB2 = 0x00002000
A6XX_RBBM_INT_0_MASK_CP_IB1 = 0x00004000
A6XX_RBBM_INT_0_MASK_CP_RB = 0x00008000
A6XX_RBBM_INT_0_MASK_PM4CPINTERRUPT = 0x00008000
A6XX_RBBM_INT_0_MASK_PM4CPINTERRUPTLPAC = 0x00010000
A6XX_RBBM_INT_0_MASK_CP_RB_DONE_TS = 0x00020000
A6XX_RBBM_INT_0_MASK_CP_WT_DONE_TS = 0x00040000
A6XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS = 0x00100000
A6XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS_LPAC = 0x00200000
A6XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW = 0x00400000
A6XX_RBBM_INT_0_MASK_RBBM_HANG_DETECT = 0x00800000
A6XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS = 0x01000000
A6XX_RBBM_INT_0_MASK_UCHE_TRAP_INTR = 0x02000000
A6XX_RBBM_INT_0_MASK_DEBBUS_INTR_0 = 0x04000000
A6XX_RBBM_INT_0_MASK_DEBBUS_INTR_1 = 0x08000000
A6XX_RBBM_INT_0_MASK_TSBWRITEERROR = 0x10000000
A6XX_RBBM_INT_0_MASK_SWFUSEVIOLATION = 0x20000000
A6XX_RBBM_INT_0_MASK_ISDB_CPU_IRQ = 0x40000000
A6XX_RBBM_INT_0_MASK_ISDB_UNDER_DEBUG = 0x80000000
A6XX_CP_INT_CP_OPCODE_ERROR = 0x00000001
A6XX_CP_INT_CP_UCODE_ERROR = 0x00000002
A6XX_CP_INT_CP_HW_FAULT_ERROR = 0x00000004
A6XX_CP_INT_CP_REGISTER_PROTECTION_ERROR = 0x00000010
A6XX_CP_INT_CP_AHB_ERROR = 0x00000020
A6XX_CP_INT_CP_VSD_PARITY_ERROR = 0x00000040
A6XX_CP_INT_CP_ILLEGAL_INSTR_ERROR = 0x00000080
A6XX_CP_INT_CP_OPCODE_ERROR_LPAC = 0x00000100
A6XX_CP_INT_CP_UCODE_ERROR_LPAC = 0x00000200
A6XX_CP_INT_CP_HW_FAULT_ERROR_LPAC = 0x00000400
A6XX_CP_INT_CP_REGISTER_PROTECTION_ERROR_LPAC = 0x00000800
A6XX_CP_INT_CP_ILLEGAL_INSTR_ERROR_LPAC = 0x00001000
A6XX_CP_INT_CP_OPCODE_ERROR_BV = 0x00002000
A6XX_CP_INT_CP_UCODE_ERROR_BV = 0x00004000
A6XX_CP_INT_CP_HW_FAULT_ERROR_BV = 0x00008000
A6XX_CP_INT_CP_REGISTER_PROTECTION_ERROR_BV = 0x00010000
A6XX_CP_INT_CP_ILLEGAL_INSTR_ERROR_BV = 0x00020000
REG_A6XX_CP_RB_BASE = 0x00000800
REG_A6XX_CP_RB_CNTL = 0x00000802
REG_A6XX_CP_RB_RPTR_ADDR = 0x00000804
REG_A6XX_CP_RB_RPTR = 0x00000806
REG_A6XX_CP_RB_WPTR = 0x00000807
REG_A6XX_CP_SQE_CNTL = 0x00000808
REG_A6XX_CP_CP2GMU_STATUS = 0x00000812
A6XX_CP_CP2GMU_STATUS_IFPC = 0x00000001
REG_A6XX_CP_HW_FAULT = 0x00000821
REG_A6XX_CP_INTERRUPT_STATUS = 0x00000823
REG_A6XX_CP_PROTECT_STATUS = 0x00000824
REG_A6XX_CP_STATUS_1 = 0x00000825
REG_A6XX_CP_SQE_INSTR_BASE = 0x00000830
REG_A6XX_CP_MISC_CNTL = 0x00000840
REG_A6XX_CP_APRIV_CNTL = 0x00000844
A6XX_CP_APRIV_CNTL_CDWRITE = 0x00000040
A6XX_CP_APRIV_CNTL_CDREAD = 0x00000020
A6XX_CP_APRIV_CNTL_RBRPWB = 0x00000008
A6XX_CP_APRIV_CNTL_RBPRIVLEVEL = 0x00000004
A6XX_CP_APRIV_CNTL_RBFETCH = 0x00000002
A6XX_CP_APRIV_CNTL_ICACHE = 0x00000001
REG_A6XX_CP_PREEMPT_THRESHOLD = 0x000008c0
REG_A6XX_CP_ROQ_THRESHOLDS_1 = 0x000008c1
A6XX_CP_ROQ_THRESHOLDS_1_MRB_START__MASK = 0x000000ff
A6XX_CP_ROQ_THRESHOLDS_1_MRB_START__SHIFT = 0
A6XX_CP_ROQ_THRESHOLDS_1_VSD_START__MASK = 0x0000ff00
A6XX_CP_ROQ_THRESHOLDS_1_VSD_START__SHIFT = 8
A6XX_CP_ROQ_THRESHOLDS_1_IB1_START__MASK = 0x00ff0000
A6XX_CP_ROQ_THRESHOLDS_1_IB1_START__SHIFT = 16
A6XX_CP_ROQ_THRESHOLDS_1_IB2_START__MASK = 0xff000000
A6XX_CP_ROQ_THRESHOLDS_1_IB2_START__SHIFT = 24
REG_A6XX_CP_ROQ_THRESHOLDS_2 = 0x000008c2
A6XX_CP_ROQ_THRESHOLDS_2_SDS_START__MASK = 0x000001ff
A6XX_CP_ROQ_THRESHOLDS_2_SDS_START__SHIFT = 0
A6XX_CP_ROQ_THRESHOLDS_2_ROQ_SIZE__MASK = 0xffff0000
A6XX_CP_ROQ_THRESHOLDS_2_ROQ_SIZE__SHIFT = 16
REG_A6XX_CP_MEM_POOL_SIZE = 0x000008c3
REG_A6XX_CP_CHICKEN_DBG = 0x00000841
REG_A6XX_CP_ADDR_MODE_CNTL = 0x00000842
REG_A6XX_CP_DBG_ECO_CNTL = 0x00000843
REG_A6XX_CP_PROTECT_CNTL = 0x0000084f
A6XX_CP_PROTECT_CNTL_LAST_SPAN_INF_RANGE = 0x00000008
A6XX_CP_PROTECT_CNTL_ACCESS_FAULT_ON_VIOL_EN = 0x00000002
A6XX_CP_PROTECT_CNTL_ACCESS_PROT_EN = 0x00000001
REG_A6XX_CP_SCRATCH = lambda i0: (0x00000883 + 0x1*i0 ) # type: ignore
REG_A6XX_CP_PROTECT = lambda i0: (0x00000850 + 0x1*i0 ) # type: ignore
A6XX_CP_PROTECT_REG_BASE_ADDR__MASK = 0x0003ffff
A6XX_CP_PROTECT_REG_BASE_ADDR__SHIFT = 0
A6XX_CP_PROTECT_REG_MASK_LEN__MASK = 0x7ffc0000
A6XX_CP_PROTECT_REG_MASK_LEN__SHIFT = 18
A6XX_CP_PROTECT_REG_READ = 0x80000000
REG_A6XX_CP_CONTEXT_SWITCH_CNTL = 0x000008a0
A6XX_CP_CONTEXT_SWITCH_CNTL_STOP = 0x00000001
A6XX_CP_CONTEXT_SWITCH_CNTL_LEVEL__MASK = 0x000000c0
A6XX_CP_CONTEXT_SWITCH_CNTL_LEVEL__SHIFT = 6
A6XX_CP_CONTEXT_SWITCH_CNTL_USES_GMEM = 0x00000100
A6XX_CP_CONTEXT_SWITCH_CNTL_SKIP_SAVE_RESTORE = 0x00000200
REG_A6XX_CP_CONTEXT_SWITCH_SMMU_INFO = 0x000008a1
REG_A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR = 0x000008a3
REG_A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR = 0x000008a5
REG_A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR = 0x000008a7
REG_A7XX_CP_CONTEXT_SWITCH_LEVEL_STATUS = 0x000008ab
REG_A6XX_CP_PERFCTR_CP_SEL = lambda i0: (0x000008d0 + 0x1*i0 ) # type: ignore
REG_A7XX_CP_BV_PERFCTR_CP_SEL = lambda i0: (0x000008e0 + 0x1*i0 ) # type: ignore
REG_A6XX_CP_CRASH_DUMP_SCRIPT_BASE = 0x00000900
REG_A6XX_CP_CRASH_DUMP_CNTL = 0x00000902
REG_A6XX_CP_CRASH_DUMP_STATUS = 0x00000903
REG_A6XX_CP_SQE_STAT_ADDR = 0x00000908
REG_A6XX_CP_SQE_STAT_DATA = 0x00000909
REG_A6XX_CP_DRAW_STATE_ADDR = 0x0000090a
REG_A6XX_CP_DRAW_STATE_DATA = 0x0000090b
REG_A6XX_CP_ROQ_DBG_ADDR = 0x0000090c
REG_A6XX_CP_ROQ_DBG_DATA = 0x0000090d
REG_A6XX_CP_MEM_POOL_DBG_ADDR = 0x0000090e
REG_A6XX_CP_MEM_POOL_DBG_DATA = 0x0000090f
REG_A6XX_CP_SQE_UCODE_DBG_ADDR = 0x00000910
REG_A6XX_CP_SQE_UCODE_DBG_DATA = 0x00000911
REG_A6XX_CP_IB1_BASE = 0x00000928
REG_A6XX_CP_IB1_REM_SIZE = 0x0000092a
REG_A6XX_CP_IB2_BASE = 0x0000092b
REG_A6XX_CP_IB2_REM_SIZE = 0x0000092d
REG_A6XX_CP_SDS_BASE = 0x0000092e
REG_A6XX_CP_SDS_REM_SIZE = 0x00000930
REG_A6XX_CP_MRB_BASE = 0x00000931
REG_A6XX_CP_MRB_REM_SIZE = 0x00000933
REG_A6XX_CP_VSD_BASE = 0x00000934
REG_A6XX_CP_ROQ_RB_STATUS = 0x00000939
A6XX_CP_ROQ_RB_STATUS_RPTR__MASK = 0x000003ff
A6XX_CP_ROQ_RB_STATUS_RPTR__SHIFT = 0
A6XX_CP_ROQ_RB_STATUS_WPTR__MASK = 0x03ff0000
A6XX_CP_ROQ_RB_STATUS_WPTR__SHIFT = 16
REG_A6XX_CP_ROQ_IB1_STATUS = 0x0000093a
A6XX_CP_ROQ_IB1_STATUS_RPTR__MASK = 0x000003ff
A6XX_CP_ROQ_IB1_STATUS_RPTR__SHIFT = 0
A6XX_CP_ROQ_IB1_STATUS_WPTR__MASK = 0x03ff0000
A6XX_CP_ROQ_IB1_STATUS_WPTR__SHIFT = 16
REG_A6XX_CP_ROQ_IB2_STATUS = 0x0000093b
A6XX_CP_ROQ_IB2_STATUS_RPTR__MASK = 0x000003ff
A6XX_CP_ROQ_IB2_STATUS_RPTR__SHIFT = 0
A6XX_CP_ROQ_IB2_STATUS_WPTR__MASK = 0x03ff0000
A6XX_CP_ROQ_IB2_STATUS_WPTR__SHIFT = 16
REG_A6XX_CP_ROQ_SDS_STATUS = 0x0000093c
A6XX_CP_ROQ_SDS_STATUS_RPTR__MASK = 0x000003ff
A6XX_CP_ROQ_SDS_STATUS_RPTR__SHIFT = 0
A6XX_CP_ROQ_SDS_STATUS_WPTR__MASK = 0x03ff0000
A6XX_CP_ROQ_SDS_STATUS_WPTR__SHIFT = 16
REG_A6XX_CP_ROQ_MRB_STATUS = 0x0000093d
A6XX_CP_ROQ_MRB_STATUS_RPTR__MASK = 0x000003ff
A6XX_CP_ROQ_MRB_STATUS_RPTR__SHIFT = 0
A6XX_CP_ROQ_MRB_STATUS_WPTR__MASK = 0x03ff0000
A6XX_CP_ROQ_MRB_STATUS_WPTR__SHIFT = 16
REG_A6XX_CP_ROQ_VSD_STATUS = 0x0000093e
A6XX_CP_ROQ_VSD_STATUS_RPTR__MASK = 0x000003ff
A6XX_CP_ROQ_VSD_STATUS_RPTR__SHIFT = 0
A6XX_CP_ROQ_VSD_STATUS_WPTR__MASK = 0x03ff0000
A6XX_CP_ROQ_VSD_STATUS_WPTR__SHIFT = 16
REG_A6XX_CP_IB1_INIT_SIZE = 0x00000943
REG_A6XX_CP_IB2_INIT_SIZE = 0x00000944
REG_A6XX_CP_SDS_INIT_SIZE = 0x00000945
REG_A6XX_CP_MRB_INIT_SIZE = 0x00000946
REG_A6XX_CP_VSD_INIT_SIZE = 0x00000947
REG_A6XX_CP_ROQ_AVAIL_RB = 0x00000948
A6XX_CP_ROQ_AVAIL_RB_REM__MASK = 0xffff0000
A6XX_CP_ROQ_AVAIL_RB_REM__SHIFT = 16
REG_A6XX_CP_ROQ_AVAIL_IB1 = 0x00000949
A6XX_CP_ROQ_AVAIL_IB1_REM__MASK = 0xffff0000
A6XX_CP_ROQ_AVAIL_IB1_REM__SHIFT = 16
REG_A6XX_CP_ROQ_AVAIL_IB2 = 0x0000094a
A6XX_CP_ROQ_AVAIL_IB2_REM__MASK = 0xffff0000
A6XX_CP_ROQ_AVAIL_IB2_REM__SHIFT = 16
REG_A6XX_CP_ROQ_AVAIL_SDS = 0x0000094b
A6XX_CP_ROQ_AVAIL_SDS_REM__MASK = 0xffff0000
A6XX_CP_ROQ_AVAIL_SDS_REM__SHIFT = 16
REG_A6XX_CP_ROQ_AVAIL_MRB = 0x0000094c
A6XX_CP_ROQ_AVAIL_MRB_REM__MASK = 0xffff0000
A6XX_CP_ROQ_AVAIL_MRB_REM__SHIFT = 16
REG_A6XX_CP_ROQ_AVAIL_VSD = 0x0000094d
A6XX_CP_ROQ_AVAIL_VSD_REM__MASK = 0xffff0000
A6XX_CP_ROQ_AVAIL_VSD_REM__SHIFT = 16
REG_A6XX_CP_ALWAYS_ON_COUNTER = 0x00000980
REG_A6XX_CP_AHB_CNTL = 0x0000098d
REG_A6XX_CP_APERTURE_CNTL_HOST = 0x00000a00
REG_A7XX_CP_APERTURE_CNTL_HOST = 0x00000a00
A7XX_CP_APERTURE_CNTL_HOST_PIPE__MASK = 0x00003000
A7XX_CP_APERTURE_CNTL_HOST_PIPE__SHIFT = 12
A7XX_CP_APERTURE_CNTL_HOST_CLUSTER__MASK = 0x00000700
A7XX_CP_APERTURE_CNTL_HOST_CLUSTER__SHIFT = 8
A7XX_CP_APERTURE_CNTL_HOST_CONTEXT__MASK = 0x00000030
A7XX_CP_APERTURE_CNTL_HOST_CONTEXT__SHIFT = 4
REG_A6XX_CP_APERTURE_CNTL_SQE = 0x00000a01
REG_A6XX_CP_APERTURE_CNTL_CD = 0x00000a03
REG_A7XX_CP_APERTURE_CNTL_CD = 0x00000a03
A7XX_CP_APERTURE_CNTL_CD_PIPE__MASK = 0x00003000
A7XX_CP_APERTURE_CNTL_CD_PIPE__SHIFT = 12
A7XX_CP_APERTURE_CNTL_CD_CLUSTER__MASK = 0x00000700
A7XX_CP_APERTURE_CNTL_CD_CLUSTER__SHIFT = 8
A7XX_CP_APERTURE_CNTL_CD_CONTEXT__MASK = 0x00000030
A7XX_CP_APERTURE_CNTL_CD_CONTEXT__SHIFT = 4
REG_A7XX_CP_BV_PROTECT_STATUS = 0x00000a61
REG_A7XX_CP_BV_HW_FAULT = 0x00000a64
REG_A7XX_CP_BV_DRAW_STATE_ADDR = 0x00000a81
REG_A7XX_CP_BV_DRAW_STATE_DATA = 0x00000a82
REG_A7XX_CP_BV_ROQ_DBG_ADDR = 0x00000a83
REG_A7XX_CP_BV_ROQ_DBG_DATA = 0x00000a84
REG_A7XX_CP_BV_SQE_UCODE_DBG_ADDR = 0x00000a85
REG_A7XX_CP_BV_SQE_UCODE_DBG_DATA = 0x00000a86
REG_A7XX_CP_BV_SQE_STAT_ADDR = 0x00000a87
REG_A7XX_CP_BV_SQE_STAT_DATA = 0x00000a88
REG_A7XX_CP_BV_MEM_POOL_DBG_ADDR = 0x00000a96
REG_A7XX_CP_BV_MEM_POOL_DBG_DATA = 0x00000a97
REG_A7XX_CP_BV_RB_RPTR_ADDR = 0x00000a98
REG_A7XX_CP_RESOURCE_TABLE_DBG_ADDR = 0x00000a9a
REG_A7XX_CP_RESOURCE_TABLE_DBG_DATA = 0x00000a9b
REG_A7XX_CP_BV_APRIV_CNTL = 0x00000ad0
REG_A7XX_CP_BV_CHICKEN_DBG = 0x00000ada
REG_A7XX_CP_LPAC_DRAW_STATE_ADDR = 0x00000b0a
REG_A7XX_CP_LPAC_DRAW_STATE_DATA = 0x00000b0b
REG_A7XX_CP_LPAC_ROQ_DBG_ADDR = 0x00000b0c
REG_A7XX_CP_SQE_AC_UCODE_DBG_ADDR = 0x00000b27
REG_A7XX_CP_SQE_AC_UCODE_DBG_DATA = 0x00000b28
REG_A7XX_CP_SQE_AC_STAT_ADDR = 0x00000b29
REG_A7XX_CP_SQE_AC_STAT_DATA = 0x00000b2a
REG_A7XX_CP_LPAC_APRIV_CNTL = 0x00000b31
REG_A6XX_CP_LPAC_PROG_FIFO_SIZE = 0x00000b34
REG_A7XX_CP_LPAC_ROQ_DBG_DATA = 0x00000b35
REG_A7XX_CP_LPAC_FIFO_DBG_DATA = 0x00000b36
REG_A7XX_CP_LPAC_FIFO_DBG_ADDR = 0x00000b40
REG_A6XX_CP_LPAC_SQE_CNTL = 0x00000b81
REG_A6XX_CP_LPAC_SQE_INSTR_BASE = 0x00000b82
REG_A7XX_CP_AQE_INSTR_BASE_0 = 0x00000b70
REG_A7XX_CP_AQE_INSTR_BASE_1 = 0x00000b72
REG_A7XX_CP_AQE_APRIV_CNTL = 0x00000b78
REG_A7XX_CP_AQE_ROQ_DBG_ADDR_0 = 0x00000ba8
REG_A7XX_CP_AQE_ROQ_DBG_ADDR_1 = 0x00000ba9
REG_A7XX_CP_AQE_ROQ_DBG_DATA_0 = 0x00000bac
REG_A7XX_CP_AQE_ROQ_DBG_DATA_1 = 0x00000bad
REG_A7XX_CP_AQE_UCODE_DBG_ADDR_0 = 0x00000bb0
REG_A7XX_CP_AQE_UCODE_DBG_ADDR_1 = 0x00000bb1
REG_A7XX_CP_AQE_UCODE_DBG_DATA_0 = 0x00000bb4
REG_A7XX_CP_AQE_UCODE_DBG_DATA_1 = 0x00000bb5
REG_A7XX_CP_AQE_STAT_ADDR_0 = 0x00000bb8
REG_A7XX_CP_AQE_STAT_ADDR_1 = 0x00000bb9
REG_A7XX_CP_AQE_STAT_DATA_0 = 0x00000bbc
REG_A7XX_CP_AQE_STAT_DATA_1 = 0x00000bbd
REG_A6XX_VSC_ADDR_MODE_CNTL = 0x00000c01
REG_A6XX_RBBM_GPR0_CNTL = 0x00000018
REG_A6XX_RBBM_INT_0_STATUS = 0x00000201
REG_A6XX_RBBM_STATUS = 0x00000210
A6XX_RBBM_STATUS_GPU_BUSY_IGN_AHB = 0x00800000
A6XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP = 0x00400000
A6XX_RBBM_STATUS_HLSQ_BUSY = 0x00200000
A6XX_RBBM_STATUS_VSC_BUSY = 0x00100000
A6XX_RBBM_STATUS_TPL1_BUSY = 0x00080000
A6XX_RBBM_STATUS_SP_BUSY = 0x00040000
A6XX_RBBM_STATUS_UCHE_BUSY = 0x00020000
A6XX_RBBM_STATUS_VPC_BUSY = 0x00010000
A6XX_RBBM_STATUS_VFD_BUSY = 0x00008000
A6XX_RBBM_STATUS_TESS_BUSY = 0x00004000
A6XX_RBBM_STATUS_PC_VSD_BUSY = 0x00002000
A6XX_RBBM_STATUS_PC_DCALL_BUSY = 0x00001000
A6XX_RBBM_STATUS_COM_DCOM_BUSY = 0x00000800
A6XX_RBBM_STATUS_LRZ_BUSY = 0x00000400
A6XX_RBBM_STATUS_A2D_BUSY = 0x00000200
A6XX_RBBM_STATUS_CCU_BUSY = 0x00000100
A6XX_RBBM_STATUS_RB_BUSY = 0x00000080
A6XX_RBBM_STATUS_RAS_BUSY = 0x00000040
A6XX_RBBM_STATUS_TSE_BUSY = 0x00000020
A6XX_RBBM_STATUS_VBIF_BUSY = 0x00000010
A6XX_RBBM_STATUS_GFX_DBGC_BUSY = 0x00000008
A6XX_RBBM_STATUS_CP_BUSY = 0x00000004
A6XX_RBBM_STATUS_CP_AHB_BUSY_CP_MASTER = 0x00000002
A6XX_RBBM_STATUS_CP_AHB_BUSY_CX_MASTER = 0x00000001
REG_A6XX_RBBM_STATUS1 = 0x00000211
REG_A6XX_RBBM_STATUS2 = 0x00000212
REG_A6XX_RBBM_STATUS3 = 0x00000213
A6XX_RBBM_STATUS3_SMMU_STALLED_ON_FAULT = 0x01000000
REG_A6XX_RBBM_VBIF_GX_RESET_STATUS = 0x00000215
REG_A7XX_RBBM_CLOCK_MODE_CP = 0x00000260
REG_A7XX_RBBM_CLOCK_MODE_BV_LRZ = 0x00000284
REG_A7XX_RBBM_CLOCK_MODE_BV_GRAS = 0x00000285
REG_A7XX_RBBM_CLOCK_MODE2_GRAS = 0x00000286
REG_A7XX_RBBM_CLOCK_MODE_BV_VFD = 0x00000287
REG_A7XX_RBBM_CLOCK_MODE_BV_GPC = 0x00000288
REG_A7XX_RBBM_SW_FUSE_INT_STATUS = 0x000002c0
REG_A7XX_RBBM_SW_FUSE_INT_MASK = 0x000002c1
REG_A6XX_RBBM_PERFCTR_CP = lambda i0: (0x00000400 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_RBBM = lambda i0: (0x0000041c + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_PC = lambda i0: (0x00000424 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_VFD = lambda i0: (0x00000434 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_HLSQ = lambda i0: (0x00000444 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_VPC = lambda i0: (0x00000450 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_CCU = lambda i0: (0x0000045c + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_TSE = lambda i0: (0x00000466 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_RAS = lambda i0: (0x0000046e + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_UCHE = lambda i0: (0x00000476 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_TP = lambda i0: (0x0000048e + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_SP = lambda i0: (0x000004a6 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_RB = lambda i0: (0x000004d6 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_VSC = lambda i0: (0x000004e6 + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_LRZ = lambda i0: (0x000004ea + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_CMP = lambda i0: (0x000004f2 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_CP = lambda i0: (0x00000300 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_RBBM = lambda i0: (0x0000031c + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_PC = lambda i0: (0x00000324 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_VFD = lambda i0: (0x00000334 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_HLSQ = lambda i0: (0x00000344 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_VPC = lambda i0: (0x00000350 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_CCU = lambda i0: (0x0000035c + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_TSE = lambda i0: (0x00000366 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_RAS = lambda i0: (0x0000036e + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_UCHE = lambda i0: (0x00000376 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_TP = lambda i0: (0x0000038e + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_SP = lambda i0: (0x000003a6 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_RB = lambda i0: (0x000003d6 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_VSC = lambda i0: (0x000003e6 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_LRZ = lambda i0: (0x000003ea + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_CMP = lambda i0: (0x000003f2 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_UFC = lambda i0: (0x000003fa + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR2_HLSQ = lambda i0: (0x00000410 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR2_CP = lambda i0: (0x0000041c + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR2_SP = lambda i0: (0x0000042a + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR2_TP = lambda i0: (0x00000442 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR2_UFC = lambda i0: (0x0000044e + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_BV_PC = lambda i0: (0x00000460 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_BV_VFD = lambda i0: (0x00000470 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_BV_VPC = lambda i0: (0x00000480 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_BV_TSE = lambda i0: (0x0000048c + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_BV_RAS = lambda i0: (0x00000494 + 0x2*i0 ) # type: ignore
REG_A7XX_RBBM_PERFCTR_BV_LRZ = lambda i0: (0x0000049c + 0x2*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_CNTL = 0x00000500
REG_A6XX_RBBM_PERFCTR_LOAD_CMD0 = 0x00000501
REG_A6XX_RBBM_PERFCTR_LOAD_CMD1 = 0x00000502
REG_A6XX_RBBM_PERFCTR_LOAD_CMD2 = 0x00000503
REG_A6XX_RBBM_PERFCTR_LOAD_CMD3 = 0x00000504
REG_A6XX_RBBM_PERFCTR_LOAD_VALUE_LO = 0x00000505
REG_A6XX_RBBM_PERFCTR_LOAD_VALUE_HI = 0x00000506
REG_A6XX_RBBM_PERFCTR_RBBM_SEL = lambda i0: (0x00000507 + 0x1*i0 ) # type: ignore
REG_A6XX_RBBM_PERFCTR_GPU_BUSY_MASKED = 0x0000050b
REG_A6XX_RBBM_PERFCTR_SRAM_INIT_CMD = 0x0000050e
REG_A6XX_RBBM_PERFCTR_SRAM_INIT_STATUS = 0x0000050f
REG_A6XX_RBBM_ISDB_CNT = 0x00000533
REG_A6XX_RBBM_NC_MODE_CNTL = 0x00000534
REG_A7XX_RBBM_SNAPSHOT_STATUS = 0x00000535
REG_A6XX_RBBM_PIPESTAT_IAVERTICES = 0x00000540
REG_A6XX_RBBM_PIPESTAT_IAPRIMITIVES = 0x00000542
REG_A6XX_RBBM_PIPESTAT_VSINVOCATIONS = 0x00000544
REG_A6XX_RBBM_PIPESTAT_HSINVOCATIONS = 0x00000546
REG_A6XX_RBBM_PIPESTAT_DSINVOCATIONS = 0x00000548
REG_A6XX_RBBM_PIPESTAT_GSINVOCATIONS = 0x0000054a
REG_A6XX_RBBM_PIPESTAT_GSPRIMITIVES = 0x0000054c
REG_A6XX_RBBM_PIPESTAT_CINVOCATIONS = 0x0000054e
REG_A6XX_RBBM_PIPESTAT_CPRIMITIVES = 0x00000550
REG_A6XX_RBBM_PIPESTAT_PSINVOCATIONS = 0x00000552
REG_A6XX_RBBM_PIPESTAT_CSINVOCATIONS = 0x00000554
REG_A6XX_RBBM_SECVID_TRUST_CNTL = 0x0000f400
REG_A6XX_RBBM_SECVID_TSB_TRUSTED_BASE = 0x0000f800
REG_A6XX_RBBM_SECVID_TSB_TRUSTED_SIZE = 0x0000f802
REG_A6XX_RBBM_SECVID_TSB_CNTL = 0x0000f803
REG_A6XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL = 0x0000f810
REG_A7XX_RBBM_SECVID_TSB_STATUS = 0x0000fc00
REG_A6XX_RBBM_VBIF_CLIENT_QOS_CNTL = 0x00000010
REG_A6XX_RBBM_GBIF_CLIENT_QOS_CNTL = 0x00000011
REG_A6XX_RBBM_GBIF_HALT = 0x00000016
REG_A6XX_RBBM_GBIF_HALT_ACK = 0x00000017
REG_A6XX_RBBM_WAIT_FOR_GPU_IDLE_CMD = 0x0000001c
A6XX_RBBM_WAIT_FOR_GPU_IDLE_CMD_WAIT_GPU_IDLE = 0x00000001
REG_A7XX_RBBM_GBIF_HALT = 0x00000016
REG_A7XX_RBBM_GBIF_HALT_ACK = 0x00000017
REG_A6XX_RBBM_INTERFACE_HANG_INT_CNTL = 0x0000001f
REG_A6XX_RBBM_INT_CLEAR_CMD = 0x00000037
REG_A6XX_RBBM_INT_0_MASK = 0x00000038
REG_A7XX_RBBM_INT_2_MASK = 0x0000003a
REG_A6XX_RBBM_SP_HYST_CNT = 0x00000042
REG_A6XX_RBBM_SW_RESET_CMD = 0x00000043
REG_A6XX_RBBM_RAC_THRESHOLD_CNT = 0x00000044
REG_A6XX_RBBM_BLOCK_SW_RESET_CMD = 0x00000045
REG_A6XX_RBBM_BLOCK_SW_RESET_CMD2 = 0x00000046
REG_A7XX_RBBM_CLOCK_CNTL_GLOBAL = 0x000000ad
REG_A6XX_RBBM_CLOCK_CNTL = 0x000000ae
REG_A6XX_RBBM_CLOCK_CNTL_SP0 = 0x000000b0
REG_A6XX_RBBM_CLOCK_CNTL_SP1 = 0x000000b1
REG_A6XX_RBBM_CLOCK_CNTL_SP2 = 0x000000b2
REG_A6XX_RBBM_CLOCK_CNTL_SP3 = 0x000000b3
REG_A6XX_RBBM_CLOCK_CNTL2_SP0 = 0x000000b4
REG_A6XX_RBBM_CLOCK_CNTL2_SP1 = 0x000000b5
REG_A6XX_RBBM_CLOCK_CNTL2_SP2 = 0x000000b6
REG_A6XX_RBBM_CLOCK_CNTL2_SP3 = 0x000000b7
REG_A6XX_RBBM_CLOCK_DELAY_SP0 = 0x000000b8
REG_A6XX_RBBM_CLOCK_DELAY_SP1 = 0x000000b9
REG_A6XX_RBBM_CLOCK_DELAY_SP2 = 0x000000ba
REG_A6XX_RBBM_CLOCK_DELAY_SP3 = 0x000000bb
REG_A6XX_RBBM_CLOCK_HYST_SP0 = 0x000000bc
REG_A6XX_RBBM_CLOCK_HYST_SP1 = 0x000000bd
REG_A6XX_RBBM_CLOCK_HYST_SP2 = 0x000000be
REG_A6XX_RBBM_CLOCK_HYST_SP3 = 0x000000bf
REG_A6XX_RBBM_CLOCK_CNTL_TP0 = 0x000000c0
REG_A6XX_RBBM_CLOCK_CNTL_TP1 = 0x000000c1
REG_A6XX_RBBM_CLOCK_CNTL_TP2 = 0x000000c2
REG_A6XX_RBBM_CLOCK_CNTL_TP3 = 0x000000c3
REG_A6XX_RBBM_CLOCK_CNTL2_TP0 = 0x000000c4
REG_A6XX_RBBM_CLOCK_CNTL2_TP1 = 0x000000c5
REG_A6XX_RBBM_CLOCK_CNTL2_TP2 = 0x000000c6
REG_A6XX_RBBM_CLOCK_CNTL2_TP3 = 0x000000c7
REG_A6XX_RBBM_CLOCK_CNTL3_TP0 = 0x000000c8
REG_A6XX_RBBM_CLOCK_CNTL3_TP1 = 0x000000c9
REG_A6XX_RBBM_CLOCK_CNTL3_TP2 = 0x000000ca
REG_A6XX_RBBM_CLOCK_CNTL3_TP3 = 0x000000cb
REG_A6XX_RBBM_CLOCK_CNTL4_TP0 = 0x000000cc
REG_A6XX_RBBM_CLOCK_CNTL4_TP1 = 0x000000cd
REG_A6XX_RBBM_CLOCK_CNTL4_TP2 = 0x000000ce
REG_A6XX_RBBM_CLOCK_CNTL4_TP3 = 0x000000cf
REG_A6XX_RBBM_CLOCK_DELAY_TP0 = 0x000000d0
REG_A6XX_RBBM_CLOCK_DELAY_TP1 = 0x000000d1
REG_A6XX_RBBM_CLOCK_DELAY_TP2 = 0x000000d2
REG_A6XX_RBBM_CLOCK_DELAY_TP3 = 0x000000d3
REG_A6XX_RBBM_CLOCK_DELAY2_TP0 = 0x000000d4
REG_A6XX_RBBM_CLOCK_DELAY2_TP1 = 0x000000d5
REG_A6XX_RBBM_CLOCK_DELAY2_TP2 = 0x000000d6
REG_A6XX_RBBM_CLOCK_DELAY2_TP3 = 0x000000d7
REG_A6XX_RBBM_CLOCK_DELAY3_TP0 = 0x000000d8
REG_A6XX_RBBM_CLOCK_DELAY3_TP1 = 0x000000d9
REG_A6XX_RBBM_CLOCK_DELAY3_TP2 = 0x000000da
REG_A6XX_RBBM_CLOCK_DELAY3_TP3 = 0x000000db
REG_A6XX_RBBM_CLOCK_DELAY4_TP0 = 0x000000dc
REG_A6XX_RBBM_CLOCK_DELAY4_TP1 = 0x000000dd
REG_A6XX_RBBM_CLOCK_DELAY4_TP2 = 0x000000de
REG_A6XX_RBBM_CLOCK_DELAY4_TP3 = 0x000000df
REG_A6XX_RBBM_CLOCK_HYST_TP0 = 0x000000e0
REG_A6XX_RBBM_CLOCK_HYST_TP1 = 0x000000e1
REG_A6XX_RBBM_CLOCK_HYST_TP2 = 0x000000e2
REG_A6XX_RBBM_CLOCK_HYST_TP3 = 0x000000e3
REG_A6XX_RBBM_CLOCK_HYST2_TP0 = 0x000000e4
REG_A6XX_RBBM_CLOCK_HYST2_TP1 = 0x000000e5
REG_A6XX_RBBM_CLOCK_HYST2_TP2 = 0x000000e6
REG_A6XX_RBBM_CLOCK_HYST2_TP3 = 0x000000e7
REG_A6XX_RBBM_CLOCK_HYST3_TP0 = 0x000000e8
REG_A6XX_RBBM_CLOCK_HYST3_TP1 = 0x000000e9
REG_A6XX_RBBM_CLOCK_HYST3_TP2 = 0x000000ea
REG_A6XX_RBBM_CLOCK_HYST3_TP3 = 0x000000eb
REG_A6XX_RBBM_CLOCK_HYST4_TP0 = 0x000000ec
REG_A6XX_RBBM_CLOCK_HYST4_TP1 = 0x000000ed
REG_A6XX_RBBM_CLOCK_HYST4_TP2 = 0x000000ee
REG_A6XX_RBBM_CLOCK_HYST4_TP3 = 0x000000ef
REG_A6XX_RBBM_CLOCK_CNTL_RB0 = 0x000000f0
REG_A6XX_RBBM_CLOCK_CNTL_RB1 = 0x000000f1
REG_A6XX_RBBM_CLOCK_CNTL_RB2 = 0x000000f2
REG_A6XX_RBBM_CLOCK_CNTL_RB3 = 0x000000f3
REG_A6XX_RBBM_CLOCK_CNTL2_RB0 = 0x000000f4
REG_A6XX_RBBM_CLOCK_CNTL2_RB1 = 0x000000f5
REG_A6XX_RBBM_CLOCK_CNTL2_RB2 = 0x000000f6
REG_A6XX_RBBM_CLOCK_CNTL2_RB3 = 0x000000f7
REG_A6XX_RBBM_CLOCK_CNTL_CCU0 = 0x000000f8
REG_A6XX_RBBM_CLOCK_CNTL_CCU1 = 0x000000f9
REG_A6XX_RBBM_CLOCK_CNTL_CCU2 = 0x000000fa
REG_A6XX_RBBM_CLOCK_CNTL_CCU3 = 0x000000fb
REG_A6XX_RBBM_CLOCK_HYST_RB_CCU0 = 0x00000100
REG_A6XX_RBBM_CLOCK_HYST_RB_CCU1 = 0x00000101
REG_A6XX_RBBM_CLOCK_HYST_RB_CCU2 = 0x00000102
REG_A6XX_RBBM_CLOCK_HYST_RB_CCU3 = 0x00000103
REG_A6XX_RBBM_CLOCK_CNTL_RAC = 0x00000104
REG_A6XX_RBBM_CLOCK_CNTL2_RAC = 0x00000105
REG_A6XX_RBBM_CLOCK_DELAY_RAC = 0x00000106
REG_A6XX_RBBM_CLOCK_HYST_RAC = 0x00000107
REG_A6XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM = 0x00000108
REG_A6XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM = 0x00000109
REG_A6XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM = 0x0000010a
REG_A6XX_RBBM_CLOCK_CNTL_UCHE = 0x0000010b
REG_A6XX_RBBM_CLOCK_CNTL2_UCHE = 0x0000010c
REG_A6XX_RBBM_CLOCK_CNTL3_UCHE = 0x0000010d
REG_A6XX_RBBM_CLOCK_CNTL4_UCHE = 0x0000010e
REG_A6XX_RBBM_CLOCK_DELAY_UCHE = 0x0000010f
REG_A6XX_RBBM_CLOCK_HYST_UCHE = 0x00000110
REG_A6XX_RBBM_CLOCK_MODE_VFD = 0x00000111
REG_A6XX_RBBM_CLOCK_DELAY_VFD = 0x00000112
REG_A6XX_RBBM_CLOCK_HYST_VFD = 0x00000113
REG_A6XX_RBBM_CLOCK_MODE_GPC = 0x00000114
REG_A6XX_RBBM_CLOCK_DELAY_GPC = 0x00000115
REG_A6XX_RBBM_CLOCK_HYST_GPC = 0x00000116
REG_A6XX_RBBM_CLOCK_DELAY_HLSQ_2 = 0x00000117
REG_A6XX_RBBM_CLOCK_CNTL_GMU_GX = 0x00000118
REG_A6XX_RBBM_CLOCK_DELAY_GMU_GX = 0x00000119
REG_A6XX_RBBM_CLOCK_HYST_GMU_GX = 0x0000011a
REG_A6XX_RBBM_CLOCK_MODE_HLSQ = 0x0000011b
REG_A6XX_RBBM_CLOCK_DELAY_HLSQ = 0x0000011c
REG_A6XX_RBBM_CLOCK_HYST_HLSQ = 0x0000011d
REG_A7XX_RBBM_CGC_GLOBAL_LOAD_CMD = 0x0000011e
REG_A7XX_RBBM_CGC_P2S_TRIG_CMD = 0x0000011f
REG_A6XX_RBBM_CLOCK_CNTL_TEX_FCHE = 0x00000120
REG_A6XX_RBBM_CLOCK_DELAY_TEX_FCHE = 0x00000121
REG_A6XX_RBBM_CLOCK_HYST_TEX_FCHE = 0x00000122
REG_A7XX_RBBM_CGC_P2S_STATUS = 0x00000122
A7XX_RBBM_CGC_P2S_STATUS_TXDONE = 0x00000001
REG_A6XX_RBBM_CLOCK_CNTL_FCHE = 0x00000123
REG_A6XX_RBBM_CLOCK_DELAY_FCHE = 0x00000124
REG_A6XX_RBBM_CLOCK_HYST_FCHE = 0x00000125
REG_A6XX_RBBM_CLOCK_CNTL_MHUB = 0x00000126
REG_A6XX_RBBM_CLOCK_DELAY_MHUB = 0x00000127
REG_A6XX_RBBM_CLOCK_HYST_MHUB = 0x00000128
REG_A6XX_RBBM_CLOCK_DELAY_GLC = 0x00000129
REG_A6XX_RBBM_CLOCK_HYST_GLC = 0x0000012a
REG_A6XX_RBBM_CLOCK_CNTL_GLC = 0x0000012b
REG_A7XX_RBBM_CLOCK_HYST2_VFD = 0x0000012f
REG_A6XX_RBBM_LPAC_GBIF_CLIENT_QOS_CNTL = 0x000005ff
REG_A6XX_DBGC_CFG_DBGBUS_SEL_A = 0x00000600
REG_A6XX_DBGC_CFG_DBGBUS_SEL_B = 0x00000601
REG_A6XX_DBGC_CFG_DBGBUS_SEL_C = 0x00000602
REG_A6XX_DBGC_CFG_DBGBUS_SEL_D = 0x00000603
A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK = 0x000000ff
A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT = 0
A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK = 0x0000ff00
A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT = 8
REG_A6XX_DBGC_CFG_DBGBUS_CNTLT = 0x00000604
A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK = 0x0000003f
A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT = 0
A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK = 0x00007000
A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT = 12
A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK = 0xf0000000
A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT = 28
REG_A6XX_DBGC_CFG_DBGBUS_CNTLM = 0x00000605
A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK = 0x0f000000
A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT = 24
REG_A6XX_DBGC_CFG_DBGBUS_IVTL_0 = 0x00000608
REG_A6XX_DBGC_CFG_DBGBUS_IVTL_1 = 0x00000609
REG_A6XX_DBGC_CFG_DBGBUS_IVTL_2 = 0x0000060a
REG_A6XX_DBGC_CFG_DBGBUS_IVTL_3 = 0x0000060b
REG_A6XX_DBGC_CFG_DBGBUS_MASKL_0 = 0x0000060c
REG_A6XX_DBGC_CFG_DBGBUS_MASKL_1 = 0x0000060d
REG_A6XX_DBGC_CFG_DBGBUS_MASKL_2 = 0x0000060e
REG_A6XX_DBGC_CFG_DBGBUS_MASKL_3 = 0x0000060f
REG_A6XX_DBGC_CFG_DBGBUS_BYTEL_0 = 0x00000610
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK = 0x0000000f
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT = 0
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK = 0x000000f0
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT = 4
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK = 0x00000f00
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT = 8
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK = 0x0000f000
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT = 12
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK = 0x000f0000
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT = 16
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK = 0x00f00000
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT = 20
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK = 0x0f000000
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT = 24
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK = 0xf0000000
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT = 28
REG_A6XX_DBGC_CFG_DBGBUS_BYTEL_1 = 0x00000611
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK = 0x0000000f
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT = 0
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK = 0x000000f0
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT = 4
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK = 0x00000f00
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT = 8
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK = 0x0000f000
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT = 12
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK = 0x000f0000
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT = 16
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK = 0x00f00000
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT = 20
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK = 0x0f000000
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT = 24
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK = 0xf0000000
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT = 28
REG_A6XX_DBGC_CFG_DBGBUS_TRACE_BUF1 = 0x0000062f
REG_A6XX_DBGC_CFG_DBGBUS_TRACE_BUF2 = 0x00000630
REG_A6XX_VSC_PERFCTR_VSC_SEL = lambda i0: (0x00000cd8 + 0x1*i0 ) # type: ignore
REG_A7XX_VSC_UNKNOWN_0CD8 = 0x00000cd8
A7XX_VSC_UNKNOWN_0CD8_BINNING = 0x00000001
REG_A6XX_HLSQ_DBG_AHB_READ_APERTURE = 0x0000c800
REG_A6XX_HLSQ_DBG_READ_SEL = 0x0000d000
REG_A6XX_UCHE_ADDR_MODE_CNTL = 0x00000e00
REG_A6XX_UCHE_MODE_CNTL = 0x00000e01
REG_A6XX_UCHE_WRITE_RANGE_MAX = 0x00000e05
REG_A6XX_UCHE_WRITE_THRU_BASE = 0x00000e07
REG_A6XX_UCHE_TRAP_BASE = 0x00000e09
REG_A6XX_UCHE_GMEM_RANGE_MIN = 0x00000e0b
REG_A6XX_UCHE_GMEM_RANGE_MAX = 0x00000e0d
REG_A6XX_UCHE_CACHE_WAYS = 0x00000e17
REG_A6XX_UCHE_FILTER_CNTL = 0x00000e18
REG_A6XX_UCHE_CLIENT_PF = 0x00000e19
A6XX_UCHE_CLIENT_PF_PERFSEL__MASK = 0x000000ff
A6XX_UCHE_CLIENT_PF_PERFSEL__SHIFT = 0
REG_A6XX_UCHE_PERFCTR_UCHE_SEL = lambda i0: (0x00000e1c + 0x1*i0 ) # type: ignore
REG_A6XX_UCHE_GBIF_GX_CONFIG = 0x00000e3a
REG_A6XX_UCHE_CMDQ_CONFIG = 0x00000e3c
REG_A6XX_VBIF_VERSION = 0x00003000
REG_A6XX_VBIF_CLKON = 0x00003001
A6XX_VBIF_CLKON_FORCE_ON_TESTBUS = 0x00000002
REG_A6XX_VBIF_GATE_OFF_WRREQ_EN = 0x0000302a
REG_A6XX_VBIF_XIN_HALT_CTRL0 = 0x00003080
REG_A6XX_VBIF_XIN_HALT_CTRL1 = 0x00003081
REG_A6XX_VBIF_TEST_BUS_OUT_CTRL = 0x00003084
REG_A6XX_VBIF_TEST_BUS1_CTRL0 = 0x00003085
REG_A6XX_VBIF_TEST_BUS1_CTRL1 = 0x00003086
A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__MASK = 0x0000000f
A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__SHIFT = 0
REG_A6XX_VBIF_TEST_BUS2_CTRL0 = 0x00003087
REG_A6XX_VBIF_TEST_BUS2_CTRL1 = 0x00003088
A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__MASK = 0x000001ff
A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__SHIFT = 0
REG_A6XX_VBIF_TEST_BUS_OUT = 0x0000308c
REG_A6XX_VBIF_PERF_CNT_SEL0 = 0x000030d0
REG_A6XX_VBIF_PERF_CNT_SEL1 = 0x000030d1
REG_A6XX_VBIF_PERF_CNT_SEL2 = 0x000030d2
REG_A6XX_VBIF_PERF_CNT_SEL3 = 0x000030d3
REG_A6XX_VBIF_PERF_CNT_LOW0 = 0x000030d8
REG_A6XX_VBIF_PERF_CNT_LOW1 = 0x000030d9
REG_A6XX_VBIF_PERF_CNT_LOW2 = 0x000030da
REG_A6XX_VBIF_PERF_CNT_LOW3 = 0x000030db
REG_A6XX_VBIF_PERF_CNT_HIGH0 = 0x000030e0
REG_A6XX_VBIF_PERF_CNT_HIGH1 = 0x000030e1
REG_A6XX_VBIF_PERF_CNT_HIGH2 = 0x000030e2
REG_A6XX_VBIF_PERF_CNT_HIGH3 = 0x000030e3
REG_A6XX_VBIF_PERF_PWR_CNT_EN0 = 0x00003100
REG_A6XX_VBIF_PERF_PWR_CNT_EN1 = 0x00003101
REG_A6XX_VBIF_PERF_PWR_CNT_EN2 = 0x00003102
REG_A6XX_VBIF_PERF_PWR_CNT_LOW0 = 0x00003110
REG_A6XX_VBIF_PERF_PWR_CNT_LOW1 = 0x00003111
REG_A6XX_VBIF_PERF_PWR_CNT_LOW2 = 0x00003112
REG_A6XX_VBIF_PERF_PWR_CNT_HIGH0 = 0x00003118
REG_A6XX_VBIF_PERF_PWR_CNT_HIGH1 = 0x00003119
REG_A6XX_VBIF_PERF_PWR_CNT_HIGH2 = 0x0000311a
REG_A6XX_GBIF_SCACHE_CNTL0 = 0x00003c01
REG_A6XX_GBIF_SCACHE_CNTL1 = 0x00003c02
REG_A6XX_GBIF_QSB_SIDE0 = 0x00003c03
REG_A6XX_GBIF_QSB_SIDE1 = 0x00003c04
REG_A6XX_GBIF_QSB_SIDE2 = 0x00003c05
REG_A6XX_GBIF_QSB_SIDE3 = 0x00003c06
REG_A6XX_GBIF_HALT = 0x00003c45
REG_A6XX_GBIF_HALT_ACK = 0x00003c46
REG_A6XX_GBIF_PERF_PWR_CNT_EN = 0x00003cc0
REG_A6XX_GBIF_PERF_PWR_CNT_CLR = 0x00003cc1
REG_A6XX_GBIF_PERF_CNT_SEL = 0x00003cc2
REG_A6XX_GBIF_PERF_PWR_CNT_SEL = 0x00003cc3
REG_A6XX_GBIF_PERF_CNT_LOW0 = 0x00003cc4
REG_A6XX_GBIF_PERF_CNT_LOW1 = 0x00003cc5
REG_A6XX_GBIF_PERF_CNT_LOW2 = 0x00003cc6
REG_A6XX_GBIF_PERF_CNT_LOW3 = 0x00003cc7
REG_A6XX_GBIF_PERF_CNT_HIGH0 = 0x00003cc8
REG_A6XX_GBIF_PERF_CNT_HIGH1 = 0x00003cc9
REG_A6XX_GBIF_PERF_CNT_HIGH2 = 0x00003cca
REG_A6XX_GBIF_PERF_CNT_HIGH3 = 0x00003ccb
REG_A6XX_GBIF_PWR_CNT_LOW0 = 0x00003ccc
REG_A6XX_GBIF_PWR_CNT_LOW1 = 0x00003ccd
REG_A6XX_GBIF_PWR_CNT_LOW2 = 0x00003cce
REG_A6XX_GBIF_PWR_CNT_HIGH0 = 0x00003ccf
REG_A6XX_GBIF_PWR_CNT_HIGH1 = 0x00003cd0
REG_A6XX_GBIF_PWR_CNT_HIGH2 = 0x00003cd1
REG_A6XX_VSC_DBG_ECO_CNTL = 0x00000c00
REG_A6XX_VSC_BIN_SIZE = 0x00000c02
A6XX_VSC_BIN_SIZE_WIDTH__MASK = 0x000000ff
A6XX_VSC_BIN_SIZE_WIDTH__SHIFT = 0
A6XX_VSC_BIN_SIZE_HEIGHT__MASK = 0x0001ff00
A6XX_VSC_BIN_SIZE_HEIGHT__SHIFT = 8
REG_A6XX_VSC_SIZE_BASE = 0x00000c03
REG_A6XX_VSC_EXPANDED_BIN_CNTL = 0x00000c06
A6XX_VSC_EXPANDED_BIN_CNTL_NX__MASK = 0x000007fe
A6XX_VSC_EXPANDED_BIN_CNTL_NX__SHIFT = 1
A6XX_VSC_EXPANDED_BIN_CNTL_NY__MASK = 0x001ff800
A6XX_VSC_EXPANDED_BIN_CNTL_NY__SHIFT = 11
REG_A6XX_VSC_PIPE_CONFIG = lambda i0: (0x00000c10 + 0x1*i0 ) # type: ignore
A6XX_VSC_PIPE_CONFIG_REG_X__MASK = 0x000003ff
A6XX_VSC_PIPE_CONFIG_REG_X__SHIFT = 0
A6XX_VSC_PIPE_CONFIG_REG_Y__MASK = 0x000ffc00
A6XX_VSC_PIPE_CONFIG_REG_Y__SHIFT = 10
A6XX_VSC_PIPE_CONFIG_REG_W__MASK = 0x03f00000
A6XX_VSC_PIPE_CONFIG_REG_W__SHIFT = 20
A6XX_VSC_PIPE_CONFIG_REG_H__MASK = 0xfc000000
A6XX_VSC_PIPE_CONFIG_REG_H__SHIFT = 26
REG_A6XX_VSC_PIPE_DATA_PRIM_BASE = 0x00000c30
REG_A6XX_VSC_PIPE_DATA_PRIM_STRIDE = 0x00000c32
REG_A6XX_VSC_PIPE_DATA_PRIM_LENGTH = 0x00000c33
REG_A6XX_VSC_PIPE_DATA_DRAW_BASE = 0x00000c34
REG_A6XX_VSC_PIPE_DATA_DRAW_STRIDE = 0x00000c36
REG_A6XX_VSC_PIPE_DATA_DRAW_LENGTH = 0x00000c37
REG_A6XX_VSC_CHANNEL_VISIBILITY = lambda i0: (0x00000c38 + 0x1*i0 ) # type: ignore
REG_A6XX_VSC_PIPE_DATA_PRIM_SIZE = lambda i0: (0x00000c58 + 0x1*i0 ) # type: ignore
REG_A6XX_VSC_PIPE_DATA_DRAW_SIZE = lambda i0: (0x00000c78 + 0x1*i0 ) # type: ignore
REG_A7XX_VSC_UNKNOWN_0D08 = 0x00000d08
REG_A7XX_UCHE_UNKNOWN_0E10 = 0x00000e10
REG_A7XX_UCHE_UNKNOWN_0E11 = 0x00000e11
REG_A6XX_UCHE_UNKNOWN_0E12 = 0x00000e12
REG_A6XX_GRAS_CL_CNTL = 0x00008000
A6XX_GRAS_CL_CNTL_CLIP_DISABLE = 0x00000001
A6XX_GRAS_CL_CNTL_ZNEAR_CLIP_DISABLE = 0x00000002
A6XX_GRAS_CL_CNTL_ZFAR_CLIP_DISABLE = 0x00000004
A6XX_GRAS_CL_CNTL_Z_CLAMP_ENABLE = 0x00000020
A6XX_GRAS_CL_CNTL_ZERO_GB_SCALE_Z = 0x00000040
A6XX_GRAS_CL_CNTL_VP_CLIP_CODE_IGNORE = 0x00000080
A6XX_GRAS_CL_CNTL_VP_XFORM_DISABLE = 0x00000100
A6XX_GRAS_CL_CNTL_PERSP_DIVISION_DISABLE = 0x00000200
REG_A6XX_GRAS_CL_VS_CLIP_CULL_DISTANCE = 0x00008001
A6XX_GRAS_CL_VS_CLIP_CULL_DISTANCE_CLIP_MASK__MASK = 0x000000ff
A6XX_GRAS_CL_VS_CLIP_CULL_DISTANCE_CLIP_MASK__SHIFT = 0
A6XX_GRAS_CL_VS_CLIP_CULL_DISTANCE_CULL_MASK__MASK = 0x0000ff00
A6XX_GRAS_CL_VS_CLIP_CULL_DISTANCE_CULL_MASK__SHIFT = 8
REG_A6XX_GRAS_CL_DS_CLIP_CULL_DISTANCE = 0x00008002
A6XX_GRAS_CL_DS_CLIP_CULL_DISTANCE_CLIP_MASK__MASK = 0x000000ff
A6XX_GRAS_CL_DS_CLIP_CULL_DISTANCE_CLIP_MASK__SHIFT = 0
A6XX_GRAS_CL_DS_CLIP_CULL_DISTANCE_CULL_MASK__MASK = 0x0000ff00
A6XX_GRAS_CL_DS_CLIP_CULL_DISTANCE_CULL_MASK__SHIFT = 8
REG_A6XX_GRAS_CL_GS_CLIP_CULL_DISTANCE = 0x00008003
A6XX_GRAS_CL_GS_CLIP_CULL_DISTANCE_CLIP_MASK__MASK = 0x000000ff
A6XX_GRAS_CL_GS_CLIP_CULL_DISTANCE_CLIP_MASK__SHIFT = 0
A6XX_GRAS_CL_GS_CLIP_CULL_DISTANCE_CULL_MASK__MASK = 0x0000ff00
A6XX_GRAS_CL_GS_CLIP_CULL_DISTANCE_CULL_MASK__SHIFT = 8
REG_A6XX_GRAS_CL_ARRAY_SIZE = 0x00008004
REG_A6XX_GRAS_CL_INTERP_CNTL = 0x00008005
A6XX_GRAS_CL_INTERP_CNTL_IJ_PERSP_PIXEL = 0x00000001
A6XX_GRAS_CL_INTERP_CNTL_IJ_PERSP_CENTROID = 0x00000002
A6XX_GRAS_CL_INTERP_CNTL_IJ_PERSP_SAMPLE = 0x00000004
A6XX_GRAS_CL_INTERP_CNTL_IJ_LINEAR_PIXEL = 0x00000008
A6XX_GRAS_CL_INTERP_CNTL_IJ_LINEAR_CENTROID = 0x00000010
A6XX_GRAS_CL_INTERP_CNTL_IJ_LINEAR_SAMPLE = 0x00000020
A6XX_GRAS_CL_INTERP_CNTL_COORD_MASK__MASK = 0x000003c0
A6XX_GRAS_CL_INTERP_CNTL_COORD_MASK__SHIFT = 6
A6XX_GRAS_CL_INTERP_CNTL_UNK10 = 0x00000400
A6XX_GRAS_CL_INTERP_CNTL_UNK11 = 0x00000800
REG_A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ = 0x00008006
A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK = 0x000001ff
A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT = 0
A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK = 0x0007fc00
A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT = 10
REG_A7XX_GRAS_UNKNOWN_8007 = 0x00008007
REG_A7XX_GRAS_UNKNOWN_8008 = 0x00008008
REG_A7XX_GRAS_UNKNOWN_8009 = 0x00008009
REG_A7XX_GRAS_UNKNOWN_800A = 0x0000800a
REG_A7XX_GRAS_UNKNOWN_800B = 0x0000800b
REG_A7XX_GRAS_UNKNOWN_800C = 0x0000800c
REG_A6XX_GRAS_CL_VIEWPORT = lambda i0: (0x00008010 + 0x6*i0 ) # type: ignore
A6XX_GRAS_CL_VIEWPORT_XOFFSET__MASK = 0xffffffff
A6XX_GRAS_CL_VIEWPORT_XOFFSET__SHIFT = 0
A6XX_GRAS_CL_VIEWPORT_XSCALE__MASK = 0xffffffff
A6XX_GRAS_CL_VIEWPORT_XSCALE__SHIFT = 0
A6XX_GRAS_CL_VIEWPORT_YOFFSET__MASK = 0xffffffff
A6XX_GRAS_CL_VIEWPORT_YOFFSET__SHIFT = 0
A6XX_GRAS_CL_VIEWPORT_YSCALE__MASK = 0xffffffff
A6XX_GRAS_CL_VIEWPORT_YSCALE__SHIFT = 0
A6XX_GRAS_CL_VIEWPORT_ZOFFSET__MASK = 0xffffffff
A6XX_GRAS_CL_VIEWPORT_ZOFFSET__SHIFT = 0
A6XX_GRAS_CL_VIEWPORT_ZSCALE__MASK = 0xffffffff
A6XX_GRAS_CL_VIEWPORT_ZSCALE__SHIFT = 0
REG_A6XX_GRAS_CL_VIEWPORT_ZCLAMP = lambda i0: (0x00008070 + 0x2*i0 ) # type: ignore
A6XX_GRAS_CL_VIEWPORT_ZCLAMP_MIN__MASK = 0xffffffff
A6XX_GRAS_CL_VIEWPORT_ZCLAMP_MIN__SHIFT = 0
A6XX_GRAS_CL_VIEWPORT_ZCLAMP_MAX__MASK = 0xffffffff
A6XX_GRAS_CL_VIEWPORT_ZCLAMP_MAX__SHIFT = 0
REG_A6XX_GRAS_SU_CNTL = 0x00008090
A6XX_GRAS_SU_CNTL_CULL_FRONT = 0x00000001
A6XX_GRAS_SU_CNTL_CULL_BACK = 0x00000002
A6XX_GRAS_SU_CNTL_FRONT_CW = 0x00000004
A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK = 0x000007f8
A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT = 3
A6XX_GRAS_SU_CNTL_POLY_OFFSET = 0x00000800
A6XX_GRAS_SU_CNTL_UNK12 = 0x00001000
A6XX_GRAS_SU_CNTL_LINE_MODE__MASK = 0x00002000
A6XX_GRAS_SU_CNTL_LINE_MODE__SHIFT = 13
A6XX_GRAS_SU_CNTL_UNK15__MASK = 0x00018000
A6XX_GRAS_SU_CNTL_UNK15__SHIFT = 15
A6XX_GRAS_SU_CNTL_MULTIVIEW_ENABLE = 0x00020000
A6XX_GRAS_SU_CNTL_RENDERTARGETINDEXINCR = 0x00040000
A6XX_GRAS_SU_CNTL_VIEWPORTINDEXINCR = 0x00080000
A6XX_GRAS_SU_CNTL_UNK20__MASK = 0x00700000
A6XX_GRAS_SU_CNTL_UNK20__SHIFT = 20
REG_A6XX_GRAS_SU_POINT_MINMAX = 0x00008091
A6XX_GRAS_SU_POINT_MINMAX_MIN__MASK = 0x0000ffff
A6XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT = 0
A6XX_GRAS_SU_POINT_MINMAX_MAX__MASK = 0xffff0000
A6XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT = 16
REG_A6XX_GRAS_SU_POINT_SIZE = 0x00008092
A6XX_GRAS_SU_POINT_SIZE__MASK = 0x0000ffff
A6XX_GRAS_SU_POINT_SIZE__SHIFT = 0
REG_A6XX_GRAS_SU_DEPTH_PLANE_CNTL = 0x00008094
A6XX_GRAS_SU_DEPTH_PLANE_CNTL_Z_MODE__MASK = 0x00000003
A6XX_GRAS_SU_DEPTH_PLANE_CNTL_Z_MODE__SHIFT = 0
REG_A6XX_GRAS_SU_POLY_OFFSET_SCALE = 0x00008095
A6XX_GRAS_SU_POLY_OFFSET_SCALE__MASK = 0xffffffff
A6XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT = 0
REG_A6XX_GRAS_SU_POLY_OFFSET_OFFSET = 0x00008096
A6XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK = 0xffffffff
A6XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT = 0
REG_A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP = 0x00008097
A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK = 0xffffffff
A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT = 0
REG_A6XX_GRAS_SU_DEPTH_BUFFER_INFO = 0x00008098
A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK = 0x00000007
A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT = 0
A6XX_GRAS_SU_DEPTH_BUFFER_INFO_UNK3 = 0x00000008
REG_A6XX_GRAS_SU_CONSERVATIVE_RAS_CNTL = 0x00008099
A6XX_GRAS_SU_CONSERVATIVE_RAS_CNTL_CONSERVATIVERASEN = 0x00000001
A6XX_GRAS_SU_CONSERVATIVE_RAS_CNTL_SHIFTAMOUNT__MASK = 0x00000006
A6XX_GRAS_SU_CONSERVATIVE_RAS_CNTL_SHIFTAMOUNT__SHIFT = 1
A6XX_GRAS_SU_CONSERVATIVE_RAS_CNTL_INNERCONSERVATIVERASEN = 0x00000008
A6XX_GRAS_SU_CONSERVATIVE_RAS_CNTL_UNK4__MASK = 0x00000030
A6XX_GRAS_SU_CONSERVATIVE_RAS_CNTL_UNK4__SHIFT = 4
REG_A6XX_GRAS_SU_PATH_RENDERING_CNTL = 0x0000809a
A6XX_GRAS_SU_PATH_RENDERING_CNTL_UNK0 = 0x00000001
A6XX_GRAS_SU_PATH_RENDERING_CNTL_LINELENGTHEN = 0x00000002
REG_A6XX_GRAS_SU_VS_SIV_CNTL = 0x0000809b
A6XX_GRAS_SU_VS_SIV_CNTL_WRITES_LAYER = 0x00000001
A6XX_GRAS_SU_VS_SIV_CNTL_WRITES_VIEW = 0x00000002
REG_A6XX_GRAS_SU_GS_SIV_CNTL = 0x0000809c
A6XX_GRAS_SU_GS_SIV_CNTL_WRITES_LAYER = 0x00000001
A6XX_GRAS_SU_GS_SIV_CNTL_WRITES_VIEW = 0x00000002
REG_A6XX_GRAS_SU_DS_SIV_CNTL = 0x0000809d
A6XX_GRAS_SU_DS_SIV_CNTL_WRITES_LAYER = 0x00000001
A6XX_GRAS_SU_DS_SIV_CNTL_WRITES_VIEW = 0x00000002
REG_A6XX_GRAS_SC_CNTL = 0x000080a0
A6XX_GRAS_SC_CNTL_CCUSINGLECACHELINESIZE__MASK = 0x00000007
A6XX_GRAS_SC_CNTL_CCUSINGLECACHELINESIZE__SHIFT = 0
A6XX_GRAS_SC_CNTL_SINGLE_PRIM_MODE__MASK = 0x00000018
A6XX_GRAS_SC_CNTL_SINGLE_PRIM_MODE__SHIFT = 3
A6XX_GRAS_SC_CNTL_RASTER_MODE__MASK = 0x00000020
A6XX_GRAS_SC_CNTL_RASTER_MODE__SHIFT = 5
A6XX_GRAS_SC_CNTL_RASTER_DIRECTION__MASK = 0x000000c0
A6XX_GRAS_SC_CNTL_RASTER_DIRECTION__SHIFT = 6
A6XX_GRAS_SC_CNTL_SEQUENCED_THREAD_DISTRIBUTION__MASK = 0x00000100
A6XX_GRAS_SC_CNTL_SEQUENCED_THREAD_DISTRIBUTION__SHIFT = 8
A6XX_GRAS_SC_CNTL_UNK9 = 0x00000200
A6XX_GRAS_SC_CNTL_ROTATION__MASK = 0x00000c00
A6XX_GRAS_SC_CNTL_ROTATION__SHIFT = 10
A6XX_GRAS_SC_CNTL_EARLYVIZOUTEN = 0x00001000
REG_A6XX_GRAS_SC_BIN_CNTL = 0x000080a1
A6XX_GRAS_SC_BIN_CNTL_BINW__MASK = 0x0000003f
A6XX_GRAS_SC_BIN_CNTL_BINW__SHIFT = 0
A6XX_GRAS_SC_BIN_CNTL_BINH__MASK = 0x00007f00
A6XX_GRAS_SC_BIN_CNTL_BINH__SHIFT = 8
A6XX_GRAS_SC_BIN_CNTL_RENDER_MODE__MASK = 0x001c0000
A6XX_GRAS_SC_BIN_CNTL_RENDER_MODE__SHIFT = 18
A6XX_GRAS_SC_BIN_CNTL_FORCE_LRZ_WRITE_DIS = 0x00200000
A6XX_GRAS_SC_BIN_CNTL_BUFFERS_LOCATION__MASK = 0x00c00000
A6XX_GRAS_SC_BIN_CNTL_BUFFERS_LOCATION__SHIFT = 22
A6XX_GRAS_SC_BIN_CNTL_LRZ_FEEDBACK_ZMODE_MASK__MASK = 0x07000000
A6XX_GRAS_SC_BIN_CNTL_LRZ_FEEDBACK_ZMODE_MASK__SHIFT = 24
A6XX_GRAS_SC_BIN_CNTL_UNK27 = 0x08000000
REG_A6XX_GRAS_SC_RAS_MSAA_CNTL = 0x000080a2
A6XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__MASK = 0x00000003
A6XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__SHIFT = 0
A6XX_GRAS_SC_RAS_MSAA_CNTL_UNK2 = 0x00000004
A6XX_GRAS_SC_RAS_MSAA_CNTL_UNK3 = 0x00000008
REG_A6XX_GRAS_SC_DEST_MSAA_CNTL = 0x000080a3
A6XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__MASK = 0x00000003
A6XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__SHIFT = 0
A6XX_GRAS_SC_DEST_MSAA_CNTL_MSAA_DISABLE = 0x00000004
REG_A6XX_GRAS_SC_MSAA_SAMPLE_POS_CNTL = 0x000080a4
A6XX_GRAS_SC_MSAA_SAMPLE_POS_CNTL_UNK0 = 0x00000001
A6XX_GRAS_SC_MSAA_SAMPLE_POS_CNTL_LOCATION_ENABLE = 0x00000002
REG_A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0 = 0x000080a5
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_X__MASK = 0x0000000f
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_X__SHIFT = 0
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_Y__MASK = 0x000000f0
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_Y__SHIFT = 4
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_X__MASK = 0x00000f00
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_X__SHIFT = 8
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_Y__MASK = 0x0000f000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_Y__SHIFT = 12
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_X__MASK = 0x000f0000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_X__SHIFT = 16
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_Y__MASK = 0x00f00000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_Y__SHIFT = 20
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_X__MASK = 0x0f000000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_X__SHIFT = 24
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_Y__MASK = 0xf0000000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_Y__SHIFT = 28
REG_A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1 = 0x000080a6
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_X__MASK = 0x0000000f
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_X__SHIFT = 0
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_Y__MASK = 0x000000f0
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_Y__SHIFT = 4
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_X__MASK = 0x00000f00
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_X__SHIFT = 8
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_Y__MASK = 0x0000f000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_Y__SHIFT = 12
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_X__MASK = 0x000f0000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_X__SHIFT = 16
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_Y__MASK = 0x00f00000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_Y__SHIFT = 20
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_X__MASK = 0x0f000000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_X__SHIFT = 24
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_Y__MASK = 0xf0000000
A6XX_GRAS_SC_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_Y__SHIFT = 28
REG_A7XX_GRAS_UNKNOWN_80A7 = 0x000080a7
REG_A6XX_GRAS_UNKNOWN_80AF = 0x000080af
REG_A6XX_GRAS_SC_SCREEN_SCISSOR = lambda i0: (0x000080b0 + 0x2*i0 ) # type: ignore
A6XX_GRAS_SC_SCREEN_SCISSOR_TL_X__MASK = 0x0000ffff
A6XX_GRAS_SC_SCREEN_SCISSOR_TL_X__SHIFT = 0
A6XX_GRAS_SC_SCREEN_SCISSOR_TL_Y__MASK = 0xffff0000
A6XX_GRAS_SC_SCREEN_SCISSOR_TL_Y__SHIFT = 16
A6XX_GRAS_SC_SCREEN_SCISSOR_BR_X__MASK = 0x0000ffff
A6XX_GRAS_SC_SCREEN_SCISSOR_BR_X__SHIFT = 0
A6XX_GRAS_SC_SCREEN_SCISSOR_BR_Y__MASK = 0xffff0000
A6XX_GRAS_SC_SCREEN_SCISSOR_BR_Y__SHIFT = 16
REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR = lambda i0: (0x000080d0 + 0x2*i0 ) # type: ignore
A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_X__MASK = 0x0000ffff
A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_X__SHIFT = 0
A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_Y__MASK = 0xffff0000
A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_Y__SHIFT = 16
A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_X__MASK = 0x0000ffff
A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_X__SHIFT = 0
A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_Y__MASK = 0xffff0000
A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_Y__SHIFT = 16
REG_A6XX_GRAS_SC_WINDOW_SCISSOR_TL = 0x000080f0
A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK = 0x00003fff
A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT = 0
A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK = 0x3fff0000
A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT = 16
REG_A6XX_GRAS_SC_WINDOW_SCISSOR_BR = 0x000080f1
A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK = 0x00003fff
A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT = 0
A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK = 0x3fff0000
A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT = 16
REG_A7XX_GRAS_VRS_CONFIG = 0x000080f4
A7XX_GRAS_VRS_CONFIG_PIPELINE_FSR_ENABLE = 0x00000001
A7XX_GRAS_VRS_CONFIG_FRAG_SIZE_X__MASK = 0x00000006
A7XX_GRAS_VRS_CONFIG_FRAG_SIZE_X__SHIFT = 1
A7XX_GRAS_VRS_CONFIG_FRAG_SIZE_Y__MASK = 0x00000018
A7XX_GRAS_VRS_CONFIG_FRAG_SIZE_Y__SHIFT = 3
A7XX_GRAS_VRS_CONFIG_COMBINER_OP_1__MASK = 0x000000e0
A7XX_GRAS_VRS_CONFIG_COMBINER_OP_1__SHIFT = 5
A7XX_GRAS_VRS_CONFIG_COMBINER_OP_2__MASK = 0x00000700
A7XX_GRAS_VRS_CONFIG_COMBINER_OP_2__SHIFT = 8
A7XX_GRAS_VRS_CONFIG_ATTACHMENT_FSR_ENABLE = 0x00002000
A7XX_GRAS_VRS_CONFIG_PRIMITIVE_FSR_ENABLE = 0x00100000
REG_A7XX_GRAS_QUALITY_BUFFER_INFO = 0x000080f5
A7XX_GRAS_QUALITY_BUFFER_INFO_LAYERED = 0x00000001
A7XX_GRAS_QUALITY_BUFFER_INFO_TILE_MODE__MASK = 0x00000006
A7XX_GRAS_QUALITY_BUFFER_INFO_TILE_MODE__SHIFT = 1
REG_A7XX_GRAS_QUALITY_BUFFER_DIMENSION = 0x000080f6
A7XX_GRAS_QUALITY_BUFFER_DIMENSION_WIDTH__MASK = 0x0000ffff
A7XX_GRAS_QUALITY_BUFFER_DIMENSION_WIDTH__SHIFT = 0
A7XX_GRAS_QUALITY_BUFFER_DIMENSION_HEIGHT__MASK = 0xffff0000
A7XX_GRAS_QUALITY_BUFFER_DIMENSION_HEIGHT__SHIFT = 16
REG_A7XX_GRAS_QUALITY_BUFFER_BASE = 0x000080f8
REG_A7XX_GRAS_QUALITY_BUFFER_PITCH = 0x000080fa
A7XX_GRAS_QUALITY_BUFFER_PITCH_PITCH__MASK = 0x000000ff
A7XX_GRAS_QUALITY_BUFFER_PITCH_PITCH__SHIFT = 0
A7XX_GRAS_QUALITY_BUFFER_PITCH_ARRAY_PITCH__MASK = 0x1ffffc00
A7XX_GRAS_QUALITY_BUFFER_PITCH_ARRAY_PITCH__SHIFT = 10
REG_A6XX_GRAS_LRZ_CNTL = 0x00008100
A6XX_GRAS_LRZ_CNTL_ENABLE = 0x00000001
A6XX_GRAS_LRZ_CNTL_LRZ_WRITE = 0x00000002
A6XX_GRAS_LRZ_CNTL_GREATER = 0x00000004
A6XX_GRAS_LRZ_CNTL_FC_ENABLE = 0x00000008
A6XX_GRAS_LRZ_CNTL_Z_WRITE_ENABLE = 0x00000010
A6XX_GRAS_LRZ_CNTL_Z_BOUNDS_ENABLE = 0x00000020
A6XX_GRAS_LRZ_CNTL_DIR__MASK = 0x000000c0
A6XX_GRAS_LRZ_CNTL_DIR__SHIFT = 6
A6XX_GRAS_LRZ_CNTL_DIR_WRITE = 0x00000100
A6XX_GRAS_LRZ_CNTL_DISABLE_ON_WRONG_DIR = 0x00000200
A6XX_GRAS_LRZ_CNTL_Z_FUNC__MASK = 0x00003800
A6XX_GRAS_LRZ_CNTL_Z_FUNC__SHIFT = 11
REG_A6XX_GRAS_LRZ_PS_INPUT_CNTL = 0x00008101
A6XX_GRAS_LRZ_PS_INPUT_CNTL_SAMPLEID = 0x00000001
A6XX_GRAS_LRZ_PS_INPUT_CNTL_FRAGCOORDSAMPLEMODE__MASK = 0x00000006
A6XX_GRAS_LRZ_PS_INPUT_CNTL_FRAGCOORDSAMPLEMODE__SHIFT = 1
REG_A6XX_GRAS_LRZ_MRT_BUFFER_INFO_0 = 0x00008102
A6XX_GRAS_LRZ_MRT_BUFFER_INFO_0_COLOR_FORMAT__MASK = 0x000000ff
A6XX_GRAS_LRZ_MRT_BUFFER_INFO_0_COLOR_FORMAT__SHIFT = 0
REG_A6XX_GRAS_LRZ_BUFFER_BASE = 0x00008103
REG_A6XX_GRAS_LRZ_BUFFER_PITCH = 0x00008105
A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__MASK = 0x000000ff
A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__SHIFT = 0
A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__MASK = 0x1ffffc00
A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__SHIFT = 10
REG_A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE = 0x00008106
REG_A6XX_GRAS_LRZ_PS_SAMPLEFREQ_CNTL = 0x00008109
A6XX_GRAS_LRZ_PS_SAMPLEFREQ_CNTL_PER_SAMP_MODE = 0x00000001
REG_A6XX_GRAS_LRZ_VIEW_INFO = 0x0000810a
A6XX_GRAS_LRZ_VIEW_INFO_BASE_LAYER__MASK = 0x000007ff
A6XX_GRAS_LRZ_VIEW_INFO_BASE_LAYER__SHIFT = 0
A6XX_GRAS_LRZ_VIEW_INFO_LAYER_COUNT__MASK = 0x07ff0000
A6XX_GRAS_LRZ_VIEW_INFO_LAYER_COUNT__SHIFT = 16
A6XX_GRAS_LRZ_VIEW_INFO_BASE_MIP_LEVEL__MASK = 0xf0000000
A6XX_GRAS_LRZ_VIEW_INFO_BASE_MIP_LEVEL__SHIFT = 28
REG_A7XX_GRAS_LRZ_CNTL2 = 0x0000810b
A7XX_GRAS_LRZ_CNTL2_DISABLE_ON_WRONG_DIR = 0x00000001
A7XX_GRAS_LRZ_CNTL2_FC_ENABLE = 0x00000002
REG_A6XX_GRAS_UNKNOWN_8110 = 0x00008110
REG_A7XX_GRAS_LRZ_DEPTH_CLEAR = 0x00008111
A7XX_GRAS_LRZ_DEPTH_CLEAR__MASK = 0xffffffff
A7XX_GRAS_LRZ_DEPTH_CLEAR__SHIFT = 0
REG_A7XX_GRAS_LRZ_DEPTH_BUFFER_INFO = 0x00008113
A7XX_GRAS_LRZ_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK = 0x00000007
A7XX_GRAS_LRZ_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT = 0
A7XX_GRAS_LRZ_DEPTH_BUFFER_INFO_UNK3 = 0x00000008
REG_A7XX_GRAS_UNKNOWN_8120 = 0x00008120
REG_A7XX_GRAS_UNKNOWN_8121 = 0x00008121
REG_A6XX_GRAS_A2D_BLT_CNTL = 0x00008400
A6XX_GRAS_A2D_BLT_CNTL_ROTATE__MASK = 0x00000007
A6XX_GRAS_A2D_BLT_CNTL_ROTATE__SHIFT = 0
A6XX_GRAS_A2D_BLT_CNTL_OVERWRITEEN = 0x00000008
A6XX_GRAS_A2D_BLT_CNTL_UNK4__MASK = 0x00000070
A6XX_GRAS_A2D_BLT_CNTL_UNK4__SHIFT = 4
A6XX_GRAS_A2D_BLT_CNTL_SOLID_COLOR = 0x00000080
A6XX_GRAS_A2D_BLT_CNTL_COLOR_FORMAT__MASK = 0x0000ff00
A6XX_GRAS_A2D_BLT_CNTL_COLOR_FORMAT__SHIFT = 8
A6XX_GRAS_A2D_BLT_CNTL_SCISSOR = 0x00010000
A6XX_GRAS_A2D_BLT_CNTL_UNK17__MASK = 0x00060000
A6XX_GRAS_A2D_BLT_CNTL_UNK17__SHIFT = 17
A6XX_GRAS_A2D_BLT_CNTL_D24S8 = 0x00080000
A6XX_GRAS_A2D_BLT_CNTL_MASK__MASK = 0x00f00000
A6XX_GRAS_A2D_BLT_CNTL_MASK__SHIFT = 20
A6XX_GRAS_A2D_BLT_CNTL_IFMT__MASK = 0x07000000
A6XX_GRAS_A2D_BLT_CNTL_IFMT__SHIFT = 24
A6XX_GRAS_A2D_BLT_CNTL_UNK27 = 0x08000000
A6XX_GRAS_A2D_BLT_CNTL_UNK28 = 0x10000000
A6XX_GRAS_A2D_BLT_CNTL_RASTER_MODE__MASK = 0x20000000
A6XX_GRAS_A2D_BLT_CNTL_RASTER_MODE__SHIFT = 29
A6XX_GRAS_A2D_BLT_CNTL_COPY = 0x40000000
REG_A6XX_GRAS_A2D_SRC_XMIN = 0x00008401
A6XX_GRAS_A2D_SRC_XMIN__MASK = 0x01ffff00
A6XX_GRAS_A2D_SRC_XMIN__SHIFT = 8
REG_A6XX_GRAS_A2D_SRC_XMAX = 0x00008402
A6XX_GRAS_A2D_SRC_XMAX__MASK = 0x01ffff00
A6XX_GRAS_A2D_SRC_XMAX__SHIFT = 8
REG_A6XX_GRAS_A2D_SRC_YMIN = 0x00008403
A6XX_GRAS_A2D_SRC_YMIN__MASK = 0x01ffff00
A6XX_GRAS_A2D_SRC_YMIN__SHIFT = 8
REG_A6XX_GRAS_A2D_SRC_YMAX = 0x00008404
A6XX_GRAS_A2D_SRC_YMAX__MASK = 0x01ffff00
A6XX_GRAS_A2D_SRC_YMAX__SHIFT = 8
REG_A6XX_GRAS_A2D_DEST_TL = 0x00008405
A6XX_GRAS_A2D_DEST_TL_X__MASK = 0x00003fff
A6XX_GRAS_A2D_DEST_TL_X__SHIFT = 0
A6XX_GRAS_A2D_DEST_TL_Y__MASK = 0x3fff0000
A6XX_GRAS_A2D_DEST_TL_Y__SHIFT = 16
REG_A6XX_GRAS_A2D_DEST_BR = 0x00008406
A6XX_GRAS_A2D_DEST_BR_X__MASK = 0x00003fff
A6XX_GRAS_A2D_DEST_BR_X__SHIFT = 0
A6XX_GRAS_A2D_DEST_BR_Y__MASK = 0x3fff0000
A6XX_GRAS_A2D_DEST_BR_Y__SHIFT = 16
REG_A6XX_GRAS_2D_UNKNOWN_8407 = 0x00008407
REG_A6XX_GRAS_2D_UNKNOWN_8408 = 0x00008408
REG_A6XX_GRAS_2D_UNKNOWN_8409 = 0x00008409
REG_A6XX_GRAS_A2D_SCISSOR_TL = 0x0000840a
A6XX_GRAS_A2D_SCISSOR_TL_X__MASK = 0x00003fff
A6XX_GRAS_A2D_SCISSOR_TL_X__SHIFT = 0
A6XX_GRAS_A2D_SCISSOR_TL_Y__MASK = 0x3fff0000
A6XX_GRAS_A2D_SCISSOR_TL_Y__SHIFT = 16
REG_A6XX_GRAS_A2D_SCISSOR_BR = 0x0000840b
A6XX_GRAS_A2D_SCISSOR_BR_X__MASK = 0x00003fff
A6XX_GRAS_A2D_SCISSOR_BR_X__SHIFT = 0
A6XX_GRAS_A2D_SCISSOR_BR_Y__MASK = 0x3fff0000
A6XX_GRAS_A2D_SCISSOR_BR_Y__SHIFT = 16
REG_A6XX_GRAS_DBG_ECO_CNTL = 0x00008600
A6XX_GRAS_DBG_ECO_CNTL_UNK7 = 0x00000080
A6XX_GRAS_DBG_ECO_CNTL_LRZCACHELOCKDIS = 0x00000800
REG_A6XX_GRAS_ADDR_MODE_CNTL = 0x00008601
REG_A7XX_GRAS_NC_MODE_CNTL = 0x00008602
REG_A6XX_GRAS_PERFCTR_TSE_SEL = lambda i0: (0x00008610 + 0x1*i0 ) # type: ignore
REG_A6XX_GRAS_PERFCTR_RAS_SEL = lambda i0: (0x00008614 + 0x1*i0 ) # type: ignore
REG_A6XX_GRAS_PERFCTR_LRZ_SEL = lambda i0: (0x00008618 + 0x1*i0 ) # type: ignore
REG_A6XX_RB_CNTL = 0x00008800
A6XX_RB_CNTL_BINW__MASK = 0x0000003f
A6XX_RB_CNTL_BINW__SHIFT = 0
A6XX_RB_CNTL_BINH__MASK = 0x00007f00
A6XX_RB_CNTL_BINH__SHIFT = 8
A6XX_RB_CNTL_RENDER_MODE__MASK = 0x001c0000
A6XX_RB_CNTL_RENDER_MODE__SHIFT = 18
A6XX_RB_CNTL_FORCE_LRZ_WRITE_DIS = 0x00200000
A6XX_RB_CNTL_BUFFERS_LOCATION__MASK = 0x00c00000
A6XX_RB_CNTL_BUFFERS_LOCATION__SHIFT = 22
A6XX_RB_CNTL_LRZ_FEEDBACK_ZMODE_MASK__MASK = 0x07000000
A6XX_RB_CNTL_LRZ_FEEDBACK_ZMODE_MASK__SHIFT = 24
REG_A7XX_RB_CNTL = 0x00008800
A7XX_RB_CNTL_BINW__MASK = 0x0000003f
A7XX_RB_CNTL_BINW__SHIFT = 0
A7XX_RB_CNTL_BINH__MASK = 0x00007f00
A7XX_RB_CNTL_BINH__SHIFT = 8
A7XX_RB_CNTL_RENDER_MODE__MASK = 0x001c0000
A7XX_RB_CNTL_RENDER_MODE__SHIFT = 18
A7XX_RB_CNTL_FORCE_LRZ_WRITE_DIS = 0x00200000
A7XX_RB_CNTL_LRZ_FEEDBACK_ZMODE_MASK__MASK = 0x07000000
A7XX_RB_CNTL_LRZ_FEEDBACK_ZMODE_MASK__SHIFT = 24
REG_A6XX_RB_RENDER_CNTL = 0x00008801
A6XX_RB_RENDER_CNTL_CCUSINGLECACHELINESIZE__MASK = 0x00000038
A6XX_RB_RENDER_CNTL_CCUSINGLECACHELINESIZE__SHIFT = 3
A6XX_RB_RENDER_CNTL_EARLYVIZOUTEN = 0x00000040
A6XX_RB_RENDER_CNTL_FS_DISABLE = 0x00000080
A6XX_RB_RENDER_CNTL_UNK8__MASK = 0x00000700
A6XX_RB_RENDER_CNTL_UNK8__SHIFT = 8
A6XX_RB_RENDER_CNTL_RASTER_MODE__MASK = 0x00000100
A6XX_RB_RENDER_CNTL_RASTER_MODE__SHIFT = 8
A6XX_RB_RENDER_CNTL_RASTER_DIRECTION__MASK = 0x00000600
A6XX_RB_RENDER_CNTL_RASTER_DIRECTION__SHIFT = 9
A6XX_RB_RENDER_CNTL_CONSERVATIVERASEN = 0x00000800
A6XX_RB_RENDER_CNTL_INNERCONSERVATIVERASEN = 0x00001000
A6XX_RB_RENDER_CNTL_FLAG_DEPTH = 0x00004000
A6XX_RB_RENDER_CNTL_FLAG_MRTS__MASK = 0x00ff0000
A6XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT = 16
REG_A7XX_RB_RENDER_CNTL = 0x00008801
A7XX_RB_RENDER_CNTL_EARLYVIZOUTEN = 0x00000040
A7XX_RB_RENDER_CNTL_FS_DISABLE = 0x00000080
A7XX_RB_RENDER_CNTL_RASTER_MODE__MASK = 0x00000100
A7XX_RB_RENDER_CNTL_RASTER_MODE__SHIFT = 8
A7XX_RB_RENDER_CNTL_RASTER_DIRECTION__MASK = 0x00000600
A7XX_RB_RENDER_CNTL_RASTER_DIRECTION__SHIFT = 9
A7XX_RB_RENDER_CNTL_CONSERVATIVERASEN = 0x00000800
A7XX_RB_RENDER_CNTL_INNERCONSERVATIVERASEN = 0x00001000
REG_A7XX_GRAS_SU_RENDER_CNTL = 0x00008116
A7XX_GRAS_SU_RENDER_CNTL_FS_DISABLE = 0x00000080
REG_A6XX_RB_RAS_MSAA_CNTL = 0x00008802
A6XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK = 0x00000003
A6XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT = 0
A6XX_RB_RAS_MSAA_CNTL_UNK2 = 0x00000004
A6XX_RB_RAS_MSAA_CNTL_UNK3 = 0x00000008
REG_A6XX_RB_DEST_MSAA_CNTL = 0x00008803
A6XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK = 0x00000003
A6XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT = 0
A6XX_RB_DEST_MSAA_CNTL_MSAA_DISABLE = 0x00000004
REG_A6XX_RB_MSAA_SAMPLE_POS_CNTL = 0x00008804
A6XX_RB_MSAA_SAMPLE_POS_CNTL_UNK0 = 0x00000001
A6XX_RB_MSAA_SAMPLE_POS_CNTL_LOCATION_ENABLE = 0x00000002
REG_A6XX_RB_PROGRAMMABLE_MSAA_POS_0 = 0x00008805
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_X__MASK = 0x0000000f
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_X__SHIFT = 0
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_Y__MASK = 0x000000f0
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_Y__SHIFT = 4
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_X__MASK = 0x00000f00
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_X__SHIFT = 8
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_Y__MASK = 0x0000f000
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_Y__SHIFT = 12
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_X__MASK = 0x000f0000
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_X__SHIFT = 16
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_Y__MASK = 0x00f00000
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_Y__SHIFT = 20
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_X__MASK = 0x0f000000
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_X__SHIFT = 24
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_Y__MASK = 0xf0000000
A6XX_RB_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_Y__SHIFT = 28
REG_A6XX_RB_PROGRAMMABLE_MSAA_POS_1 = 0x00008806
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_X__MASK = 0x0000000f
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_X__SHIFT = 0
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_Y__MASK = 0x000000f0
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_Y__SHIFT = 4
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_X__MASK = 0x00000f00
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_X__SHIFT = 8
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_Y__MASK = 0x0000f000
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_Y__SHIFT = 12
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_X__MASK = 0x000f0000
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_X__SHIFT = 16
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_Y__MASK = 0x00f00000
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_Y__SHIFT = 20
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_X__MASK = 0x0f000000
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_X__SHIFT = 24
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_Y__MASK = 0xf0000000
A6XX_RB_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_Y__SHIFT = 28
REG_A6XX_RB_INTERP_CNTL = 0x00008809
A6XX_RB_INTERP_CNTL_IJ_PERSP_PIXEL = 0x00000001
A6XX_RB_INTERP_CNTL_IJ_PERSP_CENTROID = 0x00000002
A6XX_RB_INTERP_CNTL_IJ_PERSP_SAMPLE = 0x00000004
A6XX_RB_INTERP_CNTL_IJ_LINEAR_PIXEL = 0x00000008
A6XX_RB_INTERP_CNTL_IJ_LINEAR_CENTROID = 0x00000010
A6XX_RB_INTERP_CNTL_IJ_LINEAR_SAMPLE = 0x00000020
A6XX_RB_INTERP_CNTL_COORD_MASK__MASK = 0x000003c0
A6XX_RB_INTERP_CNTL_COORD_MASK__SHIFT = 6
A6XX_RB_INTERP_CNTL_UNK10 = 0x00000400
REG_A6XX_RB_PS_INPUT_CNTL = 0x0000880a
A6XX_RB_PS_INPUT_CNTL_SAMPLEMASK = 0x00000001
A6XX_RB_PS_INPUT_CNTL_POSTDEPTHCOVERAGE = 0x00000002
A6XX_RB_PS_INPUT_CNTL_FACENESS = 0x00000004
A6XX_RB_PS_INPUT_CNTL_SAMPLEID = 0x00000008
A6XX_RB_PS_INPUT_CNTL_FRAGCOORDSAMPLEMODE__MASK = 0x00000030
A6XX_RB_PS_INPUT_CNTL_FRAGCOORDSAMPLEMODE__SHIFT = 4
A6XX_RB_PS_INPUT_CNTL_CENTERRHW = 0x00000040
A6XX_RB_PS_INPUT_CNTL_LINELENGTHEN = 0x00000080
A6XX_RB_PS_INPUT_CNTL_FOVEATION = 0x00000100
REG_A6XX_RB_PS_OUTPUT_CNTL = 0x0000880b
A6XX_RB_PS_OUTPUT_CNTL_DUAL_COLOR_IN_ENABLE = 0x00000001
A6XX_RB_PS_OUTPUT_CNTL_FRAG_WRITES_Z = 0x00000002
A6XX_RB_PS_OUTPUT_CNTL_FRAG_WRITES_SAMPMASK = 0x00000004
A6XX_RB_PS_OUTPUT_CNTL_FRAG_WRITES_STENCILREF = 0x00000008
REG_A6XX_RB_PS_MRT_CNTL = 0x0000880c
A6XX_RB_PS_MRT_CNTL_MRT__MASK = 0x0000000f
A6XX_RB_PS_MRT_CNTL_MRT__SHIFT = 0
REG_A6XX_RB_PS_OUTPUT_MASK = 0x0000880d
A6XX_RB_PS_OUTPUT_MASK_RT0__MASK = 0x0000000f
A6XX_RB_PS_OUTPUT_MASK_RT0__SHIFT = 0
A6XX_RB_PS_OUTPUT_MASK_RT1__MASK = 0x000000f0
A6XX_RB_PS_OUTPUT_MASK_RT1__SHIFT = 4
A6XX_RB_PS_OUTPUT_MASK_RT2__MASK = 0x00000f00
A6XX_RB_PS_OUTPUT_MASK_RT2__SHIFT = 8
A6XX_RB_PS_OUTPUT_MASK_RT3__MASK = 0x0000f000
A6XX_RB_PS_OUTPUT_MASK_RT3__SHIFT = 12
A6XX_RB_PS_OUTPUT_MASK_RT4__MASK = 0x000f0000
A6XX_RB_PS_OUTPUT_MASK_RT4__SHIFT = 16
A6XX_RB_PS_OUTPUT_MASK_RT5__MASK = 0x00f00000
A6XX_RB_PS_OUTPUT_MASK_RT5__SHIFT = 20
A6XX_RB_PS_OUTPUT_MASK_RT6__MASK = 0x0f000000
A6XX_RB_PS_OUTPUT_MASK_RT6__SHIFT = 24
A6XX_RB_PS_OUTPUT_MASK_RT7__MASK = 0xf0000000
A6XX_RB_PS_OUTPUT_MASK_RT7__SHIFT = 28
REG_A6XX_RB_DITHER_CNTL = 0x0000880e
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__MASK = 0x00000003
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__SHIFT = 0
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__MASK = 0x0000000c
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__SHIFT = 2
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__MASK = 0x00000030
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__SHIFT = 4
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__MASK = 0x000000c0
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__SHIFT = 6
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__MASK = 0x00000300
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__SHIFT = 8
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__MASK = 0x00000c00
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__SHIFT = 10
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__MASK = 0x00003000
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__SHIFT = 12
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__MASK = 0x0000c000
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__SHIFT = 14
REG_A6XX_RB_SRGB_CNTL = 0x0000880f
A6XX_RB_SRGB_CNTL_SRGB_MRT0 = 0x00000001
A6XX_RB_SRGB_CNTL_SRGB_MRT1 = 0x00000002
A6XX_RB_SRGB_CNTL_SRGB_MRT2 = 0x00000004
A6XX_RB_SRGB_CNTL_SRGB_MRT3 = 0x00000008
A6XX_RB_SRGB_CNTL_SRGB_MRT4 = 0x00000010
A6XX_RB_SRGB_CNTL_SRGB_MRT5 = 0x00000020
A6XX_RB_SRGB_CNTL_SRGB_MRT6 = 0x00000040
A6XX_RB_SRGB_CNTL_SRGB_MRT7 = 0x00000080
REG_A6XX_RB_PS_SAMPLEFREQ_CNTL = 0x00008810
A6XX_RB_PS_SAMPLEFREQ_CNTL_PER_SAMP_MODE = 0x00000001
REG_A6XX_RB_UNKNOWN_8811 = 0x00008811
REG_A7XX_RB_UNKNOWN_8812 = 0x00008812
REG_A6XX_RB_UNKNOWN_8818 = 0x00008818
REG_A6XX_RB_UNKNOWN_8819 = 0x00008819
REG_A6XX_RB_UNKNOWN_881A = 0x0000881a
REG_A6XX_RB_UNKNOWN_881B = 0x0000881b
REG_A6XX_RB_UNKNOWN_881C = 0x0000881c
REG_A6XX_RB_UNKNOWN_881D = 0x0000881d
REG_A6XX_RB_UNKNOWN_881E = 0x0000881e
REG_A6XX_RB_MRT = lambda i0: (0x00008820 + 0x8*i0 ) # type: ignore
A6XX_RB_MRT_CONTROL_BLEND = 0x00000001
A6XX_RB_MRT_CONTROL_BLEND2 = 0x00000002
A6XX_RB_MRT_CONTROL_ROP_ENABLE = 0x00000004
A6XX_RB_MRT_CONTROL_ROP_CODE__MASK = 0x00000078
A6XX_RB_MRT_CONTROL_ROP_CODE__SHIFT = 3
A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK = 0x00000780
A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT = 7
A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK = 0x0000001f
A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT = 0
A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK = 0x000000e0
A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT = 5
A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK = 0x00001f00
A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT = 8
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK = 0x001f0000
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT = 16
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK = 0x00e00000
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT = 21
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK = 0x1f000000
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT = 24
A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK = 0x000000ff
A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT = 0
A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK = 0x00000300
A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT = 8
A6XX_RB_MRT_BUF_INFO_UNK10 = 0x00000400
A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK = 0x00006000
A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT = 13
A7XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK = 0x000000ff
A7XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT = 0
A7XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK = 0x00000300
A7XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT = 8
A7XX_RB_MRT_BUF_INFO_UNK10 = 0x00000400
A7XX_RB_MRT_BUF_INFO_LOSSLESSCOMPEN = 0x00000800
A7XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK = 0x00006000
A7XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT = 13
A7XX_RB_MRT_BUF_INFO_MUTABLEEN = 0x00010000
A6XX_RB_MRT_PITCH__MASK = 0xffffffff
A6XX_RB_MRT_PITCH__SHIFT = 0
A6XX_RB_MRT_ARRAY_PITCH__MASK = 0xffffffff
A6XX_RB_MRT_ARRAY_PITCH__SHIFT = 0
REG_A6XX_RB_BLEND_CONSTANT_RED_FP32 = 0x00008860
A6XX_RB_BLEND_CONSTANT_RED_FP32__MASK = 0xffffffff
A6XX_RB_BLEND_CONSTANT_RED_FP32__SHIFT = 0
REG_A6XX_RB_BLEND_CONSTANT_GREEN_FP32 = 0x00008861
A6XX_RB_BLEND_CONSTANT_GREEN_FP32__MASK = 0xffffffff
A6XX_RB_BLEND_CONSTANT_GREEN_FP32__SHIFT = 0
REG_A6XX_RB_BLEND_CONSTANT_BLUE_FP32 = 0x00008862
A6XX_RB_BLEND_CONSTANT_BLUE_FP32__MASK = 0xffffffff
A6XX_RB_BLEND_CONSTANT_BLUE_FP32__SHIFT = 0
REG_A6XX_RB_BLEND_CONSTANT_ALPHA_FP32 = 0x00008863
A6XX_RB_BLEND_CONSTANT_ALPHA_FP32__MASK = 0xffffffff
A6XX_RB_BLEND_CONSTANT_ALPHA_FP32__SHIFT = 0
REG_A6XX_RB_ALPHA_TEST_CNTL = 0x00008864
A6XX_RB_ALPHA_TEST_CNTL_ALPHA_REF__MASK = 0x000000ff
A6XX_RB_ALPHA_TEST_CNTL_ALPHA_REF__SHIFT = 0
A6XX_RB_ALPHA_TEST_CNTL_ALPHA_TEST = 0x00000100
A6XX_RB_ALPHA_TEST_CNTL_ALPHA_TEST_FUNC__MASK = 0x00000e00
A6XX_RB_ALPHA_TEST_CNTL_ALPHA_TEST_FUNC__SHIFT = 9
REG_A6XX_RB_BLEND_CNTL = 0x00008865
A6XX_RB_BLEND_CNTL_BLEND_READS_DEST__MASK = 0x000000ff
A6XX_RB_BLEND_CNTL_BLEND_READS_DEST__SHIFT = 0
A6XX_RB_BLEND_CNTL_INDEPENDENT_BLEND = 0x00000100
A6XX_RB_BLEND_CNTL_DUAL_COLOR_IN_ENABLE = 0x00000200
A6XX_RB_BLEND_CNTL_ALPHA_TO_COVERAGE = 0x00000400
A6XX_RB_BLEND_CNTL_ALPHA_TO_ONE = 0x00000800
A6XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK = 0xffff0000
A6XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT = 16
REG_A6XX_RB_DEPTH_PLANE_CNTL = 0x00008870
A6XX_RB_DEPTH_PLANE_CNTL_Z_MODE__MASK = 0x00000003
A6XX_RB_DEPTH_PLANE_CNTL_Z_MODE__SHIFT = 0
REG_A6XX_RB_DEPTH_CNTL = 0x00008871
A6XX_RB_DEPTH_CNTL_Z_TEST_ENABLE = 0x00000001
A6XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE = 0x00000002
A6XX_RB_DEPTH_CNTL_ZFUNC__MASK = 0x0000001c
A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT = 2
A6XX_RB_DEPTH_CNTL_Z_CLAMP_ENABLE = 0x00000020
A6XX_RB_DEPTH_CNTL_Z_READ_ENABLE = 0x00000040
A6XX_RB_DEPTH_CNTL_Z_BOUNDS_ENABLE = 0x00000080
REG_A6XX_GRAS_SU_DEPTH_CNTL = 0x00008114
A6XX_GRAS_SU_DEPTH_CNTL_Z_TEST_ENABLE = 0x00000001
REG_A6XX_RB_DEPTH_BUFFER_INFO = 0x00008872
A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK = 0x00000007
A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT = 0
A6XX_RB_DEPTH_BUFFER_INFO_UNK3__MASK = 0x00000018
A6XX_RB_DEPTH_BUFFER_INFO_UNK3__SHIFT = 3
REG_A7XX_RB_DEPTH_BUFFER_INFO = 0x00008872
A7XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK = 0x00000007
A7XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT = 0
A7XX_RB_DEPTH_BUFFER_INFO_UNK3__MASK = 0x00000018
A7XX_RB_DEPTH_BUFFER_INFO_UNK3__SHIFT = 3
A7XX_RB_DEPTH_BUFFER_INFO_TILEMODE__MASK = 0x00000060
A7XX_RB_DEPTH_BUFFER_INFO_TILEMODE__SHIFT = 5
A7XX_RB_DEPTH_BUFFER_INFO_LOSSLESSCOMPEN = 0x00000080
REG_A6XX_RB_DEPTH_BUFFER_PITCH = 0x00008873
A6XX_RB_DEPTH_BUFFER_PITCH__MASK = 0x00003fff
A6XX_RB_DEPTH_BUFFER_PITCH__SHIFT = 0
REG_A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH = 0x00008874
A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK = 0x0fffffff
A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT = 0
REG_A6XX_RB_DEPTH_BUFFER_BASE = 0x00008875
REG_A6XX_RB_DEPTH_GMEM_BASE = 0x00008877
REG_A6XX_RB_DEPTH_BOUND_MIN = 0x00008878
A6XX_RB_DEPTH_BOUND_MIN__MASK = 0xffffffff
A6XX_RB_DEPTH_BOUND_MIN__SHIFT = 0
REG_A6XX_RB_DEPTH_BOUND_MAX = 0x00008879
A6XX_RB_DEPTH_BOUND_MAX__MASK = 0xffffffff
A6XX_RB_DEPTH_BOUND_MAX__SHIFT = 0
REG_A6XX_RB_STENCIL_CNTL = 0x00008880
A6XX_RB_STENCIL_CNTL_STENCIL_ENABLE = 0x00000001
A6XX_RB_STENCIL_CNTL_STENCIL_ENABLE_BF = 0x00000002
A6XX_RB_STENCIL_CNTL_STENCIL_READ = 0x00000004
A6XX_RB_STENCIL_CNTL_FUNC__MASK = 0x00000700
A6XX_RB_STENCIL_CNTL_FUNC__SHIFT = 8
A6XX_RB_STENCIL_CNTL_FAIL__MASK = 0x00003800
A6XX_RB_STENCIL_CNTL_FAIL__SHIFT = 11
A6XX_RB_STENCIL_CNTL_ZPASS__MASK = 0x0001c000
A6XX_RB_STENCIL_CNTL_ZPASS__SHIFT = 14
A6XX_RB_STENCIL_CNTL_ZFAIL__MASK = 0x000e0000
A6XX_RB_STENCIL_CNTL_ZFAIL__SHIFT = 17
A6XX_RB_STENCIL_CNTL_FUNC_BF__MASK = 0x00700000
A6XX_RB_STENCIL_CNTL_FUNC_BF__SHIFT = 20
A6XX_RB_STENCIL_CNTL_FAIL_BF__MASK = 0x03800000
A6XX_RB_STENCIL_CNTL_FAIL_BF__SHIFT = 23
A6XX_RB_STENCIL_CNTL_ZPASS_BF__MASK = 0x1c000000
A6XX_RB_STENCIL_CNTL_ZPASS_BF__SHIFT = 26
A6XX_RB_STENCIL_CNTL_ZFAIL_BF__MASK = 0xe0000000
A6XX_RB_STENCIL_CNTL_ZFAIL_BF__SHIFT = 29
REG_A6XX_GRAS_SU_STENCIL_CNTL = 0x00008115
A6XX_GRAS_SU_STENCIL_CNTL_STENCIL_ENABLE = 0x00000001
REG_A6XX_RB_STENCIL_BUFFER_INFO = 0x00008881
A6XX_RB_STENCIL_BUFFER_INFO_SEPARATE_STENCIL = 0x00000001
A6XX_RB_STENCIL_BUFFER_INFO_UNK1 = 0x00000002
REG_A7XX_RB_STENCIL_BUFFER_INFO = 0x00008881
A7XX_RB_STENCIL_BUFFER_INFO_SEPARATE_STENCIL = 0x00000001
A7XX_RB_STENCIL_BUFFER_INFO_UNK1 = 0x00000002
A7XX_RB_STENCIL_BUFFER_INFO_TILEMODE__MASK = 0x0000000c
A7XX_RB_STENCIL_BUFFER_INFO_TILEMODE__SHIFT = 2
REG_A6XX_RB_STENCIL_BUFFER_PITCH = 0x00008882
A6XX_RB_STENCIL_BUFFER_PITCH__MASK = 0x00000fff
A6XX_RB_STENCIL_BUFFER_PITCH__SHIFT = 0
REG_A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH = 0x00008883
A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__MASK = 0x00ffffff
A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__SHIFT = 0
REG_A6XX_RB_STENCIL_BUFFER_BASE = 0x00008884
REG_A6XX_RB_STENCIL_GMEM_BASE = 0x00008886
REG_A6XX_RB_STENCIL_REF_CNTL = 0x00008887
A6XX_RB_STENCIL_REF_CNTL_REF__MASK = 0x000000ff
A6XX_RB_STENCIL_REF_CNTL_REF__SHIFT = 0
A6XX_RB_STENCIL_REF_CNTL_BFREF__MASK = 0x0000ff00
A6XX_RB_STENCIL_REF_CNTL_BFREF__SHIFT = 8
REG_A6XX_RB_STENCIL_MASK = 0x00008888
A6XX_RB_STENCIL_MASK_MASK__MASK = 0x000000ff
A6XX_RB_STENCIL_MASK_MASK__SHIFT = 0
A6XX_RB_STENCIL_MASK_BFMASK__MASK = 0x0000ff00
A6XX_RB_STENCIL_MASK_BFMASK__SHIFT = 8
REG_A6XX_RB_STENCIL_WRITE_MASK = 0x00008889
A6XX_RB_STENCIL_WRITE_MASK_WRMASK__MASK = 0x000000ff
A6XX_RB_STENCIL_WRITE_MASK_WRMASK__SHIFT = 0
A6XX_RB_STENCIL_WRITE_MASK_BFWRMASK__MASK = 0x0000ff00
A6XX_RB_STENCIL_WRITE_MASK_BFWRMASK__SHIFT = 8
REG_A6XX_RB_WINDOW_OFFSET = 0x00008890
A6XX_RB_WINDOW_OFFSET_X__MASK = 0x00003fff
A6XX_RB_WINDOW_OFFSET_X__SHIFT = 0
A6XX_RB_WINDOW_OFFSET_Y__MASK = 0x3fff0000
A6XX_RB_WINDOW_OFFSET_Y__SHIFT = 16
REG_A6XX_RB_SAMPLE_COUNTER_CNTL = 0x00008891
A6XX_RB_SAMPLE_COUNTER_CNTL_DISABLE = 0x00000001
A6XX_RB_SAMPLE_COUNTER_CNTL_COPY = 0x00000002
REG_A6XX_RB_LRZ_CNTL = 0x00008898
A6XX_RB_LRZ_CNTL_ENABLE = 0x00000001
REG_A7XX_RB_UNKNOWN_8899 = 0x00008899
REG_A6XX_RB_VIEWPORT_ZCLAMP_MIN = 0x000088c0
A6XX_RB_VIEWPORT_ZCLAMP_MIN__MASK = 0xffffffff
A6XX_RB_VIEWPORT_ZCLAMP_MIN__SHIFT = 0
REG_A6XX_RB_VIEWPORT_ZCLAMP_MAX = 0x000088c1
A6XX_RB_VIEWPORT_ZCLAMP_MAX__MASK = 0xffffffff
A6XX_RB_VIEWPORT_ZCLAMP_MAX__SHIFT = 0
REG_A6XX_RB_RESOLVE_CNTL_0 = 0x000088d0
A6XX_RB_RESOLVE_CNTL_0_UNK0__MASK = 0x00001fff
A6XX_RB_RESOLVE_CNTL_0_UNK0__SHIFT = 0
A6XX_RB_RESOLVE_CNTL_0_UNK16__MASK = 0x07ff0000
A6XX_RB_RESOLVE_CNTL_0_UNK16__SHIFT = 16
REG_A6XX_RB_RESOLVE_CNTL_1 = 0x000088d1
A6XX_RB_RESOLVE_CNTL_1_X__MASK = 0x00003fff
A6XX_RB_RESOLVE_CNTL_1_X__SHIFT = 0
A6XX_RB_RESOLVE_CNTL_1_Y__MASK = 0x3fff0000
A6XX_RB_RESOLVE_CNTL_1_Y__SHIFT = 16
REG_A6XX_RB_RESOLVE_CNTL_2 = 0x000088d2
A6XX_RB_RESOLVE_CNTL_2_X__MASK = 0x00003fff
A6XX_RB_RESOLVE_CNTL_2_X__SHIFT = 0
A6XX_RB_RESOLVE_CNTL_2_Y__MASK = 0x3fff0000
A6XX_RB_RESOLVE_CNTL_2_Y__SHIFT = 16
REG_A6XX_RB_RESOLVE_CNTL_3 = 0x000088d3
A6XX_RB_RESOLVE_CNTL_3_BINW__MASK = 0x0000003f
A6XX_RB_RESOLVE_CNTL_3_BINW__SHIFT = 0
A6XX_RB_RESOLVE_CNTL_3_BINH__MASK = 0x00007f00
A6XX_RB_RESOLVE_CNTL_3_BINH__SHIFT = 8
REG_A6XX_RB_RESOLVE_WINDOW_OFFSET = 0x000088d4
A6XX_RB_RESOLVE_WINDOW_OFFSET_X__MASK = 0x00003fff
A6XX_RB_RESOLVE_WINDOW_OFFSET_X__SHIFT = 0
A6XX_RB_RESOLVE_WINDOW_OFFSET_Y__MASK = 0x3fff0000
A6XX_RB_RESOLVE_WINDOW_OFFSET_Y__SHIFT = 16
REG_A6XX_RB_RESOLVE_GMEM_BUFFER_INFO = 0x000088d5
A6XX_RB_RESOLVE_GMEM_BUFFER_INFO_SAMPLES__MASK = 0x00000018
A6XX_RB_RESOLVE_GMEM_BUFFER_INFO_SAMPLES__SHIFT = 3
REG_A6XX_RB_RESOLVE_GMEM_BUFFER_BASE = 0x000088d6
REG_A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO = 0x000088d7
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_TILE_MODE__MASK = 0x00000003
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_TILE_MODE__SHIFT = 0
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_FLAGS = 0x00000004
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_SAMPLES__MASK = 0x00000018
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_SAMPLES__SHIFT = 3
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_COLOR_SWAP__MASK = 0x00000060
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_COLOR_SWAP__SHIFT = 5
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_COLOR_FORMAT__MASK = 0x00007f80
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_COLOR_FORMAT__SHIFT = 7
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_UNK15 = 0x00008000
A6XX_RB_RESOLVE_SYSTEM_BUFFER_INFO_MUTABLEEN = 0x00010000
REG_A6XX_RB_RESOLVE_SYSTEM_BUFFER_BASE = 0x000088d8
REG_A6XX_RB_RESOLVE_SYSTEM_BUFFER_PITCH = 0x000088da
A6XX_RB_RESOLVE_SYSTEM_BUFFER_PITCH__MASK = 0x0000ffff
A6XX_RB_RESOLVE_SYSTEM_BUFFER_PITCH__SHIFT = 0
REG_A6XX_RB_RESOLVE_SYSTEM_BUFFER_ARRAY_PITCH = 0x000088db
A6XX_RB_RESOLVE_SYSTEM_BUFFER_ARRAY_PITCH__MASK = 0x1fffffff
A6XX_RB_RESOLVE_SYSTEM_BUFFER_ARRAY_PITCH__SHIFT = 0
REG_A6XX_RB_RESOLVE_SYSTEM_FLAG_BUFFER_BASE = 0x000088dc
REG_A6XX_RB_RESOLVE_SYSTEM_FLAG_BUFFER_PITCH = 0x000088de
A6XX_RB_RESOLVE_SYSTEM_FLAG_BUFFER_PITCH_PITCH__MASK = 0x000007ff
A6XX_RB_RESOLVE_SYSTEM_FLAG_BUFFER_PITCH_PITCH__SHIFT = 0
A6XX_RB_RESOLVE_SYSTEM_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK = 0x0ffff800
A6XX_RB_RESOLVE_SYSTEM_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT = 11
REG_A6XX_RB_RESOLVE_CLEAR_COLOR_DW0 = 0x000088df
REG_A6XX_RB_RESOLVE_CLEAR_COLOR_DW1 = 0x000088e0
REG_A6XX_RB_RESOLVE_CLEAR_COLOR_DW2 = 0x000088e1
REG_A6XX_RB_RESOLVE_CLEAR_COLOR_DW3 = 0x000088e2
REG_A6XX_RB_RESOLVE_OPERATION = 0x000088e3
A6XX_RB_RESOLVE_OPERATION_TYPE__MASK = 0x00000003
A6XX_RB_RESOLVE_OPERATION_TYPE__SHIFT = 0
A6XX_RB_RESOLVE_OPERATION_SAMPLE_0 = 0x00000004
A6XX_RB_RESOLVE_OPERATION_DEPTH = 0x00000008
A6XX_RB_RESOLVE_OPERATION_CLEAR_MASK__MASK = 0x000000f0
A6XX_RB_RESOLVE_OPERATION_CLEAR_MASK__SHIFT = 4
A6XX_RB_RESOLVE_OPERATION_LAST__MASK = 0x00000300
A6XX_RB_RESOLVE_OPERATION_LAST__SHIFT = 8
A6XX_RB_RESOLVE_OPERATION_BUFFER_ID__MASK = 0x0000f000
A6XX_RB_RESOLVE_OPERATION_BUFFER_ID__SHIFT = 12
REG_A7XX_RB_CLEAR_TARGET = 0x000088e4
A7XX_RB_CLEAR_TARGET_CLEAR_MODE__MASK = 0x00000001
A7XX_RB_CLEAR_TARGET_CLEAR_MODE__SHIFT = 0
REG_A7XX_RB_CCU_CACHE_CNTL = 0x000088e5
A7XX_RB_CCU_CACHE_CNTL_DEPTH_OFFSET_HI__MASK = 0x00000001
A7XX_RB_CCU_CACHE_CNTL_DEPTH_OFFSET_HI__SHIFT = 0
A7XX_RB_CCU_CACHE_CNTL_COLOR_OFFSET_HI__MASK = 0x00000004
A7XX_RB_CCU_CACHE_CNTL_COLOR_OFFSET_HI__SHIFT = 2
A7XX_RB_CCU_CACHE_CNTL_DEPTH_CACHE_SIZE__MASK = 0x00000c00
A7XX_RB_CCU_CACHE_CNTL_DEPTH_CACHE_SIZE__SHIFT = 10
A7XX_RB_CCU_CACHE_CNTL_DEPTH_OFFSET__MASK = 0x001ff000
A7XX_RB_CCU_CACHE_CNTL_DEPTH_OFFSET__SHIFT = 12
A7XX_RB_CCU_CACHE_CNTL_COLOR_CACHE_SIZE__MASK = 0x00600000
A7XX_RB_CCU_CACHE_CNTL_COLOR_CACHE_SIZE__SHIFT = 21
A7XX_RB_CCU_CACHE_CNTL_COLOR_OFFSET__MASK = 0xff800000
A7XX_RB_CCU_CACHE_CNTL_COLOR_OFFSET__SHIFT = 23
REG_A6XX_RB_UNKNOWN_88F0 = 0x000088f0
REG_A6XX_RB_UNK_FLAG_BUFFER_BASE = 0x000088f1
REG_A6XX_RB_UNK_FLAG_BUFFER_PITCH = 0x000088f3
A6XX_RB_UNK_FLAG_BUFFER_PITCH_PITCH__MASK = 0x000007ff
A6XX_RB_UNK_FLAG_BUFFER_PITCH_PITCH__SHIFT = 0
A6XX_RB_UNK_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK = 0x00fff800
A6XX_RB_UNK_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT = 11
REG_A6XX_RB_VRS_CONFIG = 0x000088f4
A6XX_RB_VRS_CONFIG_UNK2 = 0x00000004
A6XX_RB_VRS_CONFIG_PIPELINE_FSR_ENABLE = 0x00000010
A6XX_RB_VRS_CONFIG_ATTACHMENT_FSR_ENABLE = 0x00000020
A6XX_RB_VRS_CONFIG_PRIMITIVE_FSR_ENABLE = 0x00040000
REG_A7XX_RB_UNKNOWN_88F5 = 0x000088f5
REG_A6XX_RB_DEPTH_FLAG_BUFFER_BASE = 0x00008900
REG_A6XX_RB_DEPTH_FLAG_BUFFER_PITCH = 0x00008902
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_PITCH__MASK = 0x0000007f
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_PITCH__SHIFT = 0
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_UNK8__MASK = 0x00000700
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_UNK8__SHIFT = 8
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK = 0x0ffff800
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT = 11
REG_A6XX_RB_COLOR_FLAG_BUFFER = lambda i0: (0x00008903 + 0x3*i0 ) # type: ignore
A6XX_RB_COLOR_FLAG_BUFFER_PITCH_PITCH__MASK = 0x000007ff
A6XX_RB_COLOR_FLAG_BUFFER_PITCH_PITCH__SHIFT = 0
A6XX_RB_COLOR_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK = 0x1ffff800
A6XX_RB_COLOR_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT = 11
REG_A6XX_RB_SAMPLE_COUNTER_BASE = 0x00008927
REG_A6XX_RB_UNKNOWN_8A00 = 0x00008a00
REG_A6XX_RB_UNKNOWN_8A10 = 0x00008a10
REG_A6XX_RB_UNKNOWN_8A20 = 0x00008a20
REG_A6XX_RB_UNKNOWN_8A30 = 0x00008a30
REG_A6XX_RB_A2D_BLT_CNTL = 0x00008c00
A6XX_RB_A2D_BLT_CNTL_ROTATE__MASK = 0x00000007
A6XX_RB_A2D_BLT_CNTL_ROTATE__SHIFT = 0
A6XX_RB_A2D_BLT_CNTL_OVERWRITEEN = 0x00000008
A6XX_RB_A2D_BLT_CNTL_UNK4__MASK = 0x00000070
A6XX_RB_A2D_BLT_CNTL_UNK4__SHIFT = 4
A6XX_RB_A2D_BLT_CNTL_SOLID_COLOR = 0x00000080
A6XX_RB_A2D_BLT_CNTL_COLOR_FORMAT__MASK = 0x0000ff00
A6XX_RB_A2D_BLT_CNTL_COLOR_FORMAT__SHIFT = 8
A6XX_RB_A2D_BLT_CNTL_SCISSOR = 0x00010000
A6XX_RB_A2D_BLT_CNTL_UNK17__MASK = 0x00060000
A6XX_RB_A2D_BLT_CNTL_UNK17__SHIFT = 17
A6XX_RB_A2D_BLT_CNTL_D24S8 = 0x00080000
A6XX_RB_A2D_BLT_CNTL_MASK__MASK = 0x00f00000
A6XX_RB_A2D_BLT_CNTL_MASK__SHIFT = 20
A6XX_RB_A2D_BLT_CNTL_IFMT__MASK = 0x07000000
A6XX_RB_A2D_BLT_CNTL_IFMT__SHIFT = 24
A6XX_RB_A2D_BLT_CNTL_UNK27 = 0x08000000
A6XX_RB_A2D_BLT_CNTL_UNK28 = 0x10000000
A6XX_RB_A2D_BLT_CNTL_RASTER_MODE__MASK = 0x20000000
A6XX_RB_A2D_BLT_CNTL_RASTER_MODE__SHIFT = 29
A6XX_RB_A2D_BLT_CNTL_COPY = 0x40000000
REG_A6XX_RB_A2D_PIXEL_CNTL = 0x00008c01
REG_A6XX_RB_A2D_DEST_BUFFER_INFO = 0x00008c17
A6XX_RB_A2D_DEST_BUFFER_INFO_COLOR_FORMAT__MASK = 0x000000ff
A6XX_RB_A2D_DEST_BUFFER_INFO_COLOR_FORMAT__SHIFT = 0
A6XX_RB_A2D_DEST_BUFFER_INFO_TILE_MODE__MASK = 0x00000300
A6XX_RB_A2D_DEST_BUFFER_INFO_TILE_MODE__SHIFT = 8
A6XX_RB_A2D_DEST_BUFFER_INFO_COLOR_SWAP__MASK = 0x00000c00
A6XX_RB_A2D_DEST_BUFFER_INFO_COLOR_SWAP__SHIFT = 10
A6XX_RB_A2D_DEST_BUFFER_INFO_FLAGS = 0x00001000
A6XX_RB_A2D_DEST_BUFFER_INFO_SRGB = 0x00002000
A6XX_RB_A2D_DEST_BUFFER_INFO_SAMPLES__MASK = 0x0000c000
A6XX_RB_A2D_DEST_BUFFER_INFO_SAMPLES__SHIFT = 14
A6XX_RB_A2D_DEST_BUFFER_INFO_MUTABLEEN = 0x00020000
REG_A6XX_RB_A2D_DEST_BUFFER_BASE = 0x00008c18
REG_A6XX_RB_A2D_DEST_BUFFER_PITCH = 0x00008c1a
A6XX_RB_A2D_DEST_BUFFER_PITCH__MASK = 0x0000ffff
A6XX_RB_A2D_DEST_BUFFER_PITCH__SHIFT = 0
REG_A6XX_RB_A2D_DEST_BUFFER_BASE_1 = 0x00008c1b
REG_A6XX_RB_A2D_DEST_BUFFER_PITCH_1 = 0x00008c1d
A6XX_RB_A2D_DEST_BUFFER_PITCH_1__MASK = 0x0000ffff
A6XX_RB_A2D_DEST_BUFFER_PITCH_1__SHIFT = 0
REG_A6XX_RB_A2D_DEST_BUFFER_BASE_2 = 0x00008c1e
REG_A6XX_RB_A2D_DEST_FLAG_BUFFER_BASE = 0x00008c20
REG_A6XX_RB_A2D_DEST_FLAG_BUFFER_PITCH = 0x00008c22
A6XX_RB_A2D_DEST_FLAG_BUFFER_PITCH__MASK = 0x000000ff
A6XX_RB_A2D_DEST_FLAG_BUFFER_PITCH__SHIFT = 0
REG_A6XX_RB_A2D_DEST_FLAG_BUFFER_BASE_1 = 0x00008c23
REG_A6XX_RB_A2D_DEST_FLAG_BUFFER_PITCH_1 = 0x00008c25
A6XX_RB_A2D_DEST_FLAG_BUFFER_PITCH_1__MASK = 0x000000ff
A6XX_RB_A2D_DEST_FLAG_BUFFER_PITCH_1__SHIFT = 0
REG_A6XX_RB_A2D_CLEAR_COLOR_DW0 = 0x00008c2c
REG_A6XX_RB_A2D_CLEAR_COLOR_DW1 = 0x00008c2d
REG_A6XX_RB_A2D_CLEAR_COLOR_DW2 = 0x00008c2e
REG_A6XX_RB_A2D_CLEAR_COLOR_DW3 = 0x00008c2f
REG_A7XX_RB_UNKNOWN_8C34 = 0x00008c34
REG_A6XX_RB_UNKNOWN_8E01 = 0x00008e01
REG_A6XX_RB_DBG_ECO_CNTL = 0x00008e04
REG_A6XX_RB_ADDR_MODE_CNTL = 0x00008e05
REG_A7XX_RB_CCU_DBG_ECO_CNTL = 0x00008e06
REG_A6XX_RB_CCU_CNTL = 0x00008e07
A6XX_RB_CCU_CNTL_GMEM_FAST_CLEAR_DISABLE = 0x00000001
A6XX_RB_CCU_CNTL_CONCURRENT_RESOLVE = 0x00000004
A6XX_RB_CCU_CNTL_DEPTH_OFFSET_HI__MASK = 0x00000080
A6XX_RB_CCU_CNTL_DEPTH_OFFSET_HI__SHIFT = 7
A6XX_RB_CCU_CNTL_COLOR_OFFSET_HI__MASK = 0x00000200
A6XX_RB_CCU_CNTL_COLOR_OFFSET_HI__SHIFT = 9
A6XX_RB_CCU_CNTL_DEPTH_CACHE_SIZE__MASK = 0x00000c00
A6XX_RB_CCU_CNTL_DEPTH_CACHE_SIZE__SHIFT = 10
A6XX_RB_CCU_CNTL_DEPTH_OFFSET__MASK = 0x001ff000
A6XX_RB_CCU_CNTL_DEPTH_OFFSET__SHIFT = 12
A6XX_RB_CCU_CNTL_COLOR_CACHE_SIZE__MASK = 0x00600000
A6XX_RB_CCU_CNTL_COLOR_CACHE_SIZE__SHIFT = 21
A6XX_RB_CCU_CNTL_COLOR_OFFSET__MASK = 0xff800000
A6XX_RB_CCU_CNTL_COLOR_OFFSET__SHIFT = 23
REG_A7XX_RB_CCU_CNTL = 0x00008e07
A7XX_RB_CCU_CNTL_GMEM_FAST_CLEAR_DISABLE = 0x00000001
A7XX_RB_CCU_CNTL_CONCURRENT_RESOLVE_MODE__MASK = 0x0000000c
A7XX_RB_CCU_CNTL_CONCURRENT_RESOLVE_MODE__SHIFT = 2
A7XX_RB_CCU_CNTL_CONCURRENT_UNRESOLVE_MODE__MASK = 0x00000060
A7XX_RB_CCU_CNTL_CONCURRENT_UNRESOLVE_MODE__SHIFT = 5
REG_A6XX_RB_NC_MODE_CNTL = 0x00008e08
A6XX_RB_NC_MODE_CNTL_MODE = 0x00000001
A6XX_RB_NC_MODE_CNTL_LOWER_BIT__MASK = 0x00000006
A6XX_RB_NC_MODE_CNTL_LOWER_BIT__SHIFT = 1
A6XX_RB_NC_MODE_CNTL_MIN_ACCESS_LENGTH = 0x00000008
A6XX_RB_NC_MODE_CNTL_AMSBC = 0x00000010
A6XX_RB_NC_MODE_CNTL_UPPER_BIT__MASK = 0x00000400
A6XX_RB_NC_MODE_CNTL_UPPER_BIT__SHIFT = 10
A6XX_RB_NC_MODE_CNTL_RGB565_PREDICATOR = 0x00000800
A6XX_RB_NC_MODE_CNTL_UNK12__MASK = 0x00003000
A6XX_RB_NC_MODE_CNTL_UNK12__SHIFT = 12
REG_A7XX_RB_UNKNOWN_8E09 = 0x00008e09
REG_A6XX_RB_PERFCTR_RB_SEL = lambda i0: (0x00008e10 + 0x1*i0 ) # type: ignore
REG_A6XX_RB_PERFCTR_CCU_SEL = lambda i0: (0x00008e18 + 0x1*i0 ) # type: ignore
REG_A6XX_RB_CMP_DBG_ECO_CNTL = 0x00008e28
REG_A6XX_RB_PERFCTR_CMP_SEL = lambda i0: (0x00008e2c + 0x1*i0 ) # type: ignore
REG_A7XX_RB_PERFCTR_UFC_SEL = lambda i0: (0x00008e30 + 0x1*i0 ) # type: ignore
REG_A6XX_RB_RB_SUB_BLOCK_SEL_CNTL_HOST = 0x00008e3b
REG_A6XX_RB_RB_SUB_BLOCK_SEL_CNTL_CD = 0x00008e3d
REG_A6XX_RB_CONTEXT_SWITCH_GMEM_SAVE_RESTORE_ENABLE = 0x00008e50
REG_A6XX_RB_CONTEXT_SWITCH_GMEM_SAVE_RESTORE_ADDR = 0x00008e51
REG_A7XX_RB_UNKNOWN_8E79 = 0x00008e79
REG_A6XX_VPC_GS_PARAM = 0x00009100
A6XX_VPC_GS_PARAM_LINELENGTHLOC__MASK = 0x000000ff
A6XX_VPC_GS_PARAM_LINELENGTHLOC__SHIFT = 0
REG_A6XX_VPC_VS_CLIP_CULL_CNTL = 0x00009101
A6XX_VPC_VS_CLIP_CULL_CNTL_CLIP_MASK__MASK = 0x000000ff
A6XX_VPC_VS_CLIP_CULL_CNTL_CLIP_MASK__SHIFT = 0
A6XX_VPC_VS_CLIP_CULL_CNTL_CLIP_DIST_03_LOC__MASK = 0x0000ff00
A6XX_VPC_VS_CLIP_CULL_CNTL_CLIP_DIST_03_LOC__SHIFT = 8
A6XX_VPC_VS_CLIP_CULL_CNTL_CLIP_DIST_47_LOC__MASK = 0x00ff0000
A6XX_VPC_VS_CLIP_CULL_CNTL_CLIP_DIST_47_LOC__SHIFT = 16
REG_A6XX_VPC_GS_CLIP_CULL_CNTL = 0x00009102
A6XX_VPC_GS_CLIP_CULL_CNTL_CLIP_MASK__MASK = 0x000000ff
A6XX_VPC_GS_CLIP_CULL_CNTL_CLIP_MASK__SHIFT = 0
A6XX_VPC_GS_CLIP_CULL_CNTL_CLIP_DIST_03_LOC__MASK = 0x0000ff00
A6XX_VPC_GS_CLIP_CULL_CNTL_CLIP_DIST_03_LOC__SHIFT = 8
A6XX_VPC_GS_CLIP_CULL_CNTL_CLIP_DIST_47_LOC__MASK = 0x00ff0000
A6XX_VPC_GS_CLIP_CULL_CNTL_CLIP_DIST_47_LOC__SHIFT = 16
REG_A6XX_VPC_DS_CLIP_CULL_CNTL = 0x00009103
A6XX_VPC_DS_CLIP_CULL_CNTL_CLIP_MASK__MASK = 0x000000ff
A6XX_VPC_DS_CLIP_CULL_CNTL_CLIP_MASK__SHIFT = 0
A6XX_VPC_DS_CLIP_CULL_CNTL_CLIP_DIST_03_LOC__MASK = 0x0000ff00
A6XX_VPC_DS_CLIP_CULL_CNTL_CLIP_DIST_03_LOC__SHIFT = 8
A6XX_VPC_DS_CLIP_CULL_CNTL_CLIP_DIST_47_LOC__MASK = 0x00ff0000
A6XX_VPC_DS_CLIP_CULL_CNTL_CLIP_DIST_47_LOC__SHIFT = 16
REG_A6XX_VPC_VS_CLIP_CULL_CNTL_V2 = 0x00009311
A6XX_VPC_VS_CLIP_CULL_CNTL_V2_CLIP_MASK__MASK = 0x000000ff
A6XX_VPC_VS_CLIP_CULL_CNTL_V2_CLIP_MASK__SHIFT = 0
A6XX_VPC_VS_CLIP_CULL_CNTL_V2_CLIP_DIST_03_LOC__MASK = 0x0000ff00
A6XX_VPC_VS_CLIP_CULL_CNTL_V2_CLIP_DIST_03_LOC__SHIFT = 8
A6XX_VPC_VS_CLIP_CULL_CNTL_V2_CLIP_DIST_47_LOC__MASK = 0x00ff0000
A6XX_VPC_VS_CLIP_CULL_CNTL_V2_CLIP_DIST_47_LOC__SHIFT = 16
REG_A6XX_VPC_GS_CLIP_CULL_CNTL_V2 = 0x00009312
A6XX_VPC_GS_CLIP_CULL_CNTL_V2_CLIP_MASK__MASK = 0x000000ff
A6XX_VPC_GS_CLIP_CULL_CNTL_V2_CLIP_MASK__SHIFT = 0
A6XX_VPC_GS_CLIP_CULL_CNTL_V2_CLIP_DIST_03_LOC__MASK = 0x0000ff00
A6XX_VPC_GS_CLIP_CULL_CNTL_V2_CLIP_DIST_03_LOC__SHIFT = 8
A6XX_VPC_GS_CLIP_CULL_CNTL_V2_CLIP_DIST_47_LOC__MASK = 0x00ff0000
A6XX_VPC_GS_CLIP_CULL_CNTL_V2_CLIP_DIST_47_LOC__SHIFT = 16
REG_A6XX_VPC_DS_CLIP_CULL_CNTL_V2 = 0x00009313
A6XX_VPC_DS_CLIP_CULL_CNTL_V2_CLIP_MASK__MASK = 0x000000ff
A6XX_VPC_DS_CLIP_CULL_CNTL_V2_CLIP_MASK__SHIFT = 0
A6XX_VPC_DS_CLIP_CULL_CNTL_V2_CLIP_DIST_03_LOC__MASK = 0x0000ff00
A6XX_VPC_DS_CLIP_CULL_CNTL_V2_CLIP_DIST_03_LOC__SHIFT = 8
A6XX_VPC_DS_CLIP_CULL_CNTL_V2_CLIP_DIST_47_LOC__MASK = 0x00ff0000
A6XX_VPC_DS_CLIP_CULL_CNTL_V2_CLIP_DIST_47_LOC__SHIFT = 16
REG_A6XX_VPC_VS_SIV_CNTL = 0x00009104
A6XX_VPC_VS_SIV_CNTL_LAYERLOC__MASK = 0x000000ff
A6XX_VPC_VS_SIV_CNTL_LAYERLOC__SHIFT = 0
A6XX_VPC_VS_SIV_CNTL_VIEWLOC__MASK = 0x0000ff00
A6XX_VPC_VS_SIV_CNTL_VIEWLOC__SHIFT = 8
A6XX_VPC_VS_SIV_CNTL_SHADINGRATELOC__MASK = 0x00ff0000
A6XX_VPC_VS_SIV_CNTL_SHADINGRATELOC__SHIFT = 16
REG_A6XX_VPC_GS_SIV_CNTL = 0x00009105
A6XX_VPC_GS_SIV_CNTL_LAYERLOC__MASK = 0x000000ff
A6XX_VPC_GS_SIV_CNTL_LAYERLOC__SHIFT = 0
A6XX_VPC_GS_SIV_CNTL_VIEWLOC__MASK = 0x0000ff00
A6XX_VPC_GS_SIV_CNTL_VIEWLOC__SHIFT = 8
A6XX_VPC_GS_SIV_CNTL_SHADINGRATELOC__MASK = 0x00ff0000
A6XX_VPC_GS_SIV_CNTL_SHADINGRATELOC__SHIFT = 16
REG_A6XX_VPC_DS_SIV_CNTL = 0x00009106
A6XX_VPC_DS_SIV_CNTL_LAYERLOC__MASK = 0x000000ff
A6XX_VPC_DS_SIV_CNTL_LAYERLOC__SHIFT = 0
A6XX_VPC_DS_SIV_CNTL_VIEWLOC__MASK = 0x0000ff00
A6XX_VPC_DS_SIV_CNTL_VIEWLOC__SHIFT = 8
A6XX_VPC_DS_SIV_CNTL_SHADINGRATELOC__MASK = 0x00ff0000
A6XX_VPC_DS_SIV_CNTL_SHADINGRATELOC__SHIFT = 16
REG_A6XX_VPC_VS_SIV_CNTL_V2 = 0x00009314
A6XX_VPC_VS_SIV_CNTL_V2_LAYERLOC__MASK = 0x000000ff
A6XX_VPC_VS_SIV_CNTL_V2_LAYERLOC__SHIFT = 0
A6XX_VPC_VS_SIV_CNTL_V2_VIEWLOC__MASK = 0x0000ff00
A6XX_VPC_VS_SIV_CNTL_V2_VIEWLOC__SHIFT = 8
A6XX_VPC_VS_SIV_CNTL_V2_SHADINGRATELOC__MASK = 0x00ff0000
A6XX_VPC_VS_SIV_CNTL_V2_SHADINGRATELOC__SHIFT = 16
REG_A6XX_VPC_GS_SIV_CNTL_V2 = 0x00009315
A6XX_VPC_GS_SIV_CNTL_V2_LAYERLOC__MASK = 0x000000ff
A6XX_VPC_GS_SIV_CNTL_V2_LAYERLOC__SHIFT = 0
A6XX_VPC_GS_SIV_CNTL_V2_VIEWLOC__MASK = 0x0000ff00
A6XX_VPC_GS_SIV_CNTL_V2_VIEWLOC__SHIFT = 8
A6XX_VPC_GS_SIV_CNTL_V2_SHADINGRATELOC__MASK = 0x00ff0000
A6XX_VPC_GS_SIV_CNTL_V2_SHADINGRATELOC__SHIFT = 16
REG_A6XX_VPC_DS_SIV_CNTL_V2 = 0x00009316
A6XX_VPC_DS_SIV_CNTL_V2_LAYERLOC__MASK = 0x000000ff
A6XX_VPC_DS_SIV_CNTL_V2_LAYERLOC__SHIFT = 0
A6XX_VPC_DS_SIV_CNTL_V2_VIEWLOC__MASK = 0x0000ff00
A6XX_VPC_DS_SIV_CNTL_V2_VIEWLOC__SHIFT = 8
A6XX_VPC_DS_SIV_CNTL_V2_SHADINGRATELOC__MASK = 0x00ff0000
A6XX_VPC_DS_SIV_CNTL_V2_SHADINGRATELOC__SHIFT = 16
REG_A6XX_VPC_UNKNOWN_9107 = 0x00009107
A6XX_VPC_UNKNOWN_9107_RASTER_DISCARD = 0x00000001
A6XX_VPC_UNKNOWN_9107_UNK2 = 0x00000004
REG_A6XX_VPC_RAST_CNTL = 0x00009108
A6XX_VPC_RAST_CNTL_MODE__MASK = 0x00000003
A6XX_VPC_RAST_CNTL_MODE__SHIFT = 0
REG_A7XX_VPC_PC_CNTL = 0x00009109
A7XX_VPC_PC_CNTL_PRIMITIVE_RESTART = 0x00000001
A7XX_VPC_PC_CNTL_PROVOKING_VTX_LAST = 0x00000002
A7XX_VPC_PC_CNTL_D3D_VERTEX_ORDERING = 0x00000004
A7XX_VPC_PC_CNTL_UNK3 = 0x00000008
REG_A7XX_VPC_GS_PARAM_0 = 0x0000910a
A7XX_VPC_GS_PARAM_0_GS_VERTICES_OUT__MASK = 0x000000ff
A7XX_VPC_GS_PARAM_0_GS_VERTICES_OUT__SHIFT = 0
A7XX_VPC_GS_PARAM_0_GS_INVOCATIONS__MASK = 0x00007c00
A7XX_VPC_GS_PARAM_0_GS_INVOCATIONS__SHIFT = 10
A7XX_VPC_GS_PARAM_0_LINELENGTHEN = 0x00008000
A7XX_VPC_GS_PARAM_0_GS_OUTPUT__MASK = 0x00030000
A7XX_VPC_GS_PARAM_0_GS_OUTPUT__SHIFT = 16
A7XX_VPC_GS_PARAM_0_UNK18 = 0x00040000
REG_A7XX_VPC_STEREO_RENDERING_VIEWMASK = 0x0000910b
REG_A7XX_VPC_STEREO_RENDERING_CNTL = 0x0000910c
A7XX_VPC_STEREO_RENDERING_CNTL_ENABLE = 0x00000001
A7XX_VPC_STEREO_RENDERING_CNTL_DISABLEMULTIPOS = 0x00000002
A7XX_VPC_STEREO_RENDERING_CNTL_VIEWS__MASK = 0x0000007c
A7XX_VPC_STEREO_RENDERING_CNTL_VIEWS__SHIFT = 2
REG_A6XX_VPC_VARYING_INTERP_MODE = lambda i0: (0x00009200 + 0x1*i0 ) # type: ignore
REG_A6XX_VPC_VARYING_REPLACE_MODE_0 = lambda i0: (0x00009208 + 0x1*i0 ) # type: ignore
REG_A6XX_VPC_UNKNOWN_9210 = 0x00009210
REG_A6XX_VPC_UNKNOWN_9211 = 0x00009211
REG_A6XX_VPC_VARYING_LM_TRANSFER_CNTL_0 = lambda i0: (0x00009212 + 0x1*i0 ) # type: ignore
REG_A6XX_VPC_SO_MAPPING_WPTR = 0x00009216
A6XX_VPC_SO_MAPPING_WPTR_ADDR__MASK = 0x000000ff
A6XX_VPC_SO_MAPPING_WPTR_ADDR__SHIFT = 0
A6XX_VPC_SO_MAPPING_WPTR_RESET = 0x00010000
REG_A6XX_VPC_SO_MAPPING_PORT = 0x00009217
A6XX_VPC_SO_MAPPING_PORT_A_BUF__MASK = 0x00000003
A6XX_VPC_SO_MAPPING_PORT_A_BUF__SHIFT = 0
A6XX_VPC_SO_MAPPING_PORT_A_OFF__MASK = 0x000007fc
A6XX_VPC_SO_MAPPING_PORT_A_OFF__SHIFT = 2
A6XX_VPC_SO_MAPPING_PORT_A_EN = 0x00000800
A6XX_VPC_SO_MAPPING_PORT_B_BUF__MASK = 0x00003000
A6XX_VPC_SO_MAPPING_PORT_B_BUF__SHIFT = 12
A6XX_VPC_SO_MAPPING_PORT_B_OFF__MASK = 0x007fc000
A6XX_VPC_SO_MAPPING_PORT_B_OFF__SHIFT = 14
A6XX_VPC_SO_MAPPING_PORT_B_EN = 0x00800000
REG_A6XX_VPC_SO_QUERY_BASE = 0x00009218
REG_A6XX_VPC_SO = lambda i0: (0x0000921a + 0x7*i0 ) # type: ignore
REG_A6XX_VPC_REPLACE_MODE_CNTL = 0x00009236
A6XX_VPC_REPLACE_MODE_CNTL_INVERT = 0x00000001
REG_A6XX_VPC_UNKNOWN_9300 = 0x00009300
REG_A6XX_VPC_VS_CNTL = 0x00009301
A6XX_VPC_VS_CNTL_STRIDE_IN_VPC__MASK = 0x000000ff
A6XX_VPC_VS_CNTL_STRIDE_IN_VPC__SHIFT = 0
A6XX_VPC_VS_CNTL_POSITIONLOC__MASK = 0x0000ff00
A6XX_VPC_VS_CNTL_POSITIONLOC__SHIFT = 8
A6XX_VPC_VS_CNTL_PSIZELOC__MASK = 0x00ff0000
A6XX_VPC_VS_CNTL_PSIZELOC__SHIFT = 16
A6XX_VPC_VS_CNTL_EXTRAPOS__MASK = 0x0f000000
A6XX_VPC_VS_CNTL_EXTRAPOS__SHIFT = 24
REG_A6XX_VPC_GS_CNTL = 0x00009302
A6XX_VPC_GS_CNTL_STRIDE_IN_VPC__MASK = 0x000000ff
A6XX_VPC_GS_CNTL_STRIDE_IN_VPC__SHIFT = 0
A6XX_VPC_GS_CNTL_POSITIONLOC__MASK = 0x0000ff00
A6XX_VPC_GS_CNTL_POSITIONLOC__SHIFT = 8
A6XX_VPC_GS_CNTL_PSIZELOC__MASK = 0x00ff0000
A6XX_VPC_GS_CNTL_PSIZELOC__SHIFT = 16
A6XX_VPC_GS_CNTL_EXTRAPOS__MASK = 0x0f000000
A6XX_VPC_GS_CNTL_EXTRAPOS__SHIFT = 24
REG_A6XX_VPC_DS_CNTL = 0x00009303
A6XX_VPC_DS_CNTL_STRIDE_IN_VPC__MASK = 0x000000ff
A6XX_VPC_DS_CNTL_STRIDE_IN_VPC__SHIFT = 0
A6XX_VPC_DS_CNTL_POSITIONLOC__MASK = 0x0000ff00
A6XX_VPC_DS_CNTL_POSITIONLOC__SHIFT = 8
A6XX_VPC_DS_CNTL_PSIZELOC__MASK = 0x00ff0000
A6XX_VPC_DS_CNTL_PSIZELOC__SHIFT = 16
A6XX_VPC_DS_CNTL_EXTRAPOS__MASK = 0x0f000000
A6XX_VPC_DS_CNTL_EXTRAPOS__SHIFT = 24
REG_A6XX_VPC_PS_CNTL = 0x00009304
A6XX_VPC_PS_CNTL_NUMNONPOSVAR__MASK = 0x000000ff
A6XX_VPC_PS_CNTL_NUMNONPOSVAR__SHIFT = 0
A6XX_VPC_PS_CNTL_PRIMIDLOC__MASK = 0x0000ff00
A6XX_VPC_PS_CNTL_PRIMIDLOC__SHIFT = 8
A6XX_VPC_PS_CNTL_VARYING = 0x00010000
A6XX_VPC_PS_CNTL_VIEWIDLOC__MASK = 0xff000000
A6XX_VPC_PS_CNTL_VIEWIDLOC__SHIFT = 24
REG_A6XX_VPC_SO_CNTL = 0x00009305
A6XX_VPC_SO_CNTL_BUF0_STREAM__MASK = 0x00000007
A6XX_VPC_SO_CNTL_BUF0_STREAM__SHIFT = 0
A6XX_VPC_SO_CNTL_BUF1_STREAM__MASK = 0x00000038
A6XX_VPC_SO_CNTL_BUF1_STREAM__SHIFT = 3
A6XX_VPC_SO_CNTL_BUF2_STREAM__MASK = 0x000001c0
A6XX_VPC_SO_CNTL_BUF2_STREAM__SHIFT = 6
A6XX_VPC_SO_CNTL_BUF3_STREAM__MASK = 0x00000e00
A6XX_VPC_SO_CNTL_BUF3_STREAM__SHIFT = 9
A6XX_VPC_SO_CNTL_STREAM_ENABLE__MASK = 0x00078000
A6XX_VPC_SO_CNTL_STREAM_ENABLE__SHIFT = 15
REG_A6XX_VPC_SO_OVERRIDE = 0x00009306
A6XX_VPC_SO_OVERRIDE_DISABLE = 0x00000001
REG_A6XX_VPC_PS_RAST_CNTL = 0x00009307
A6XX_VPC_PS_RAST_CNTL_MODE__MASK = 0x00000003
A6XX_VPC_PS_RAST_CNTL_MODE__SHIFT = 0
REG_A7XX_VPC_ATTR_BUF_GMEM_SIZE = 0x00009308
A7XX_VPC_ATTR_BUF_GMEM_SIZE_SIZE_GMEM__MASK = 0xffffffff
A7XX_VPC_ATTR_BUF_GMEM_SIZE_SIZE_GMEM__SHIFT = 0
REG_A7XX_VPC_ATTR_BUF_GMEM_BASE = 0x00009309
A7XX_VPC_ATTR_BUF_GMEM_BASE_BASE_GMEM__MASK = 0xffffffff
A7XX_VPC_ATTR_BUF_GMEM_BASE_BASE_GMEM__SHIFT = 0
REG_A7XX_PC_ATTR_BUF_GMEM_SIZE = 0x00009b09
A7XX_PC_ATTR_BUF_GMEM_SIZE_SIZE_GMEM__MASK = 0xffffffff
A7XX_PC_ATTR_BUF_GMEM_SIZE_SIZE_GMEM__SHIFT = 0
REG_A6XX_VPC_DBG_ECO_CNTL = 0x00009600
REG_A6XX_VPC_ADDR_MODE_CNTL = 0x00009601
REG_A6XX_VPC_UNKNOWN_9602 = 0x00009602
REG_A6XX_VPC_UNKNOWN_9603 = 0x00009603
REG_A6XX_VPC_PERFCTR_VPC_SEL = lambda i0: (0x00009604 + 0x1*i0 ) # type: ignore
REG_A7XX_VPC_PERFCTR_VPC_SEL = lambda i0: (0x0000960b + 0x1*i0 ) # type: ignore
REG_A6XX_PC_HS_PARAM_0 = 0x00009800
REG_A6XX_PC_HS_PARAM_1 = 0x00009801
A6XX_PC_HS_PARAM_1_SIZE__MASK = 0x000007ff
A6XX_PC_HS_PARAM_1_SIZE__SHIFT = 0
A6XX_PC_HS_PARAM_1_UNK13 = 0x00002000
REG_A6XX_PC_DS_PARAM = 0x00009802
A6XX_PC_DS_PARAM_SPACING__MASK = 0x00000003
A6XX_PC_DS_PARAM_SPACING__SHIFT = 0
A6XX_PC_DS_PARAM_OUTPUT__MASK = 0x0000000c
A6XX_PC_DS_PARAM_OUTPUT__SHIFT = 2
REG_A6XX_PC_RESTART_INDEX = 0x00009803
REG_A6XX_PC_MODE_CNTL = 0x00009804
REG_A6XX_PC_POWER_CNTL = 0x00009805
REG_A6XX_PC_PS_CNTL = 0x00009806
A6XX_PC_PS_CNTL_PRIMITIVEIDEN = 0x00000001
REG_A6XX_PC_DGEN_SO_CNTL = 0x00009808
A6XX_PC_DGEN_SO_CNTL_STREAM_ENABLE__MASK = 0x00078000
A6XX_PC_DGEN_SO_CNTL_STREAM_ENABLE__SHIFT = 15
REG_A6XX_PC_DGEN_SU_CONSERVATIVE_RAS_CNTL = 0x0000980a
A6XX_PC_DGEN_SU_CONSERVATIVE_RAS_CNTL_CONSERVATIVERASEN = 0x00000001
REG_A6XX_PC_DRAW_INITIATOR = 0x00009840
A6XX_PC_DRAW_INITIATOR_STATE_ID__MASK = 0x000000ff
A6XX_PC_DRAW_INITIATOR_STATE_ID__SHIFT = 0
REG_A6XX_PC_KERNEL_INITIATOR = 0x00009841
A6XX_PC_KERNEL_INITIATOR_STATE_ID__MASK = 0x000000ff
A6XX_PC_KERNEL_INITIATOR_STATE_ID__SHIFT = 0
REG_A6XX_PC_EVENT_INITIATOR = 0x00009842
A6XX_PC_EVENT_INITIATOR_STATE_ID__MASK = 0x00ff0000
A6XX_PC_EVENT_INITIATOR_STATE_ID__SHIFT = 16
A6XX_PC_EVENT_INITIATOR_EVENT__MASK = 0x0000007f
A6XX_PC_EVENT_INITIATOR_EVENT__SHIFT = 0
REG_A6XX_PC_MARKER = 0x00009880
REG_A6XX_PC_DGEN_RAST_CNTL = 0x00009981
A6XX_PC_DGEN_RAST_CNTL_MODE__MASK = 0x00000003
A6XX_PC_DGEN_RAST_CNTL_MODE__SHIFT = 0
REG_A7XX_PC_DGEN_RAST_CNTL = 0x00009809
A7XX_PC_DGEN_RAST_CNTL_MODE__MASK = 0x00000003
A7XX_PC_DGEN_RAST_CNTL_MODE__SHIFT = 0
REG_A6XX_VPC_RAST_STREAM_CNTL = 0x00009980
A6XX_VPC_RAST_STREAM_CNTL_STREAM__MASK = 0x00000003
A6XX_VPC_RAST_STREAM_CNTL_STREAM__SHIFT = 0
A6XX_VPC_RAST_STREAM_CNTL_DISCARD = 0x00000004
REG_A7XX_VPC_RAST_STREAM_CNTL = 0x00009107
A7XX_VPC_RAST_STREAM_CNTL_STREAM__MASK = 0x00000003
A7XX_VPC_RAST_STREAM_CNTL_STREAM__SHIFT = 0
A7XX_VPC_RAST_STREAM_CNTL_DISCARD = 0x00000004
REG_A7XX_VPC_RAST_STREAM_CNTL_V2 = 0x00009317
A7XX_VPC_RAST_STREAM_CNTL_V2_STREAM__MASK = 0x00000003
A7XX_VPC_RAST_STREAM_CNTL_V2_STREAM__SHIFT = 0
A7XX_VPC_RAST_STREAM_CNTL_V2_DISCARD = 0x00000004
REG_A7XX_PC_HS_BUFFER_SIZE = 0x00009885
REG_A7XX_PC_TF_BUFFER_SIZE = 0x00009886
REG_A6XX_PC_CNTL = 0x00009b00
A6XX_PC_CNTL_PRIMITIVE_RESTART = 0x00000001
A6XX_PC_CNTL_PROVOKING_VTX_LAST = 0x00000002
A6XX_PC_CNTL_D3D_VERTEX_ORDERING = 0x00000004
A6XX_PC_CNTL_UNK3 = 0x00000008
REG_A6XX_PC_VS_CNTL = 0x00009b01
A6XX_PC_VS_CNTL_STRIDE_IN_VPC__MASK = 0x000000ff
A6XX_PC_VS_CNTL_STRIDE_IN_VPC__SHIFT = 0
A6XX_PC_VS_CNTL_PSIZE = 0x00000100
A6XX_PC_VS_CNTL_LAYER = 0x00000200
A6XX_PC_VS_CNTL_VIEW = 0x00000400
A6XX_PC_VS_CNTL_PRIMITIVE_ID = 0x00000800
A6XX_PC_VS_CNTL_CLIP_MASK__MASK = 0x00ff0000
A6XX_PC_VS_CNTL_CLIP_MASK__SHIFT = 16
A6XX_PC_VS_CNTL_SHADINGRATE = 0x01000000
REG_A6XX_PC_GS_CNTL = 0x00009b02
A6XX_PC_GS_CNTL_STRIDE_IN_VPC__MASK = 0x000000ff
A6XX_PC_GS_CNTL_STRIDE_IN_VPC__SHIFT = 0
A6XX_PC_GS_CNTL_PSIZE = 0x00000100
A6XX_PC_GS_CNTL_LAYER = 0x00000200
A6XX_PC_GS_CNTL_VIEW = 0x00000400
A6XX_PC_GS_CNTL_PRIMITIVE_ID = 0x00000800
A6XX_PC_GS_CNTL_CLIP_MASK__MASK = 0x00ff0000
A6XX_PC_GS_CNTL_CLIP_MASK__SHIFT = 16
A6XX_PC_GS_CNTL_SHADINGRATE = 0x01000000
REG_A6XX_PC_HS_CNTL = 0x00009b03
A6XX_PC_HS_CNTL_STRIDE_IN_VPC__MASK = 0x000000ff
A6XX_PC_HS_CNTL_STRIDE_IN_VPC__SHIFT = 0
A6XX_PC_HS_CNTL_PSIZE = 0x00000100
A6XX_PC_HS_CNTL_LAYER = 0x00000200
A6XX_PC_HS_CNTL_VIEW = 0x00000400
A6XX_PC_HS_CNTL_PRIMITIVE_ID = 0x00000800
A6XX_PC_HS_CNTL_CLIP_MASK__MASK = 0x00ff0000
A6XX_PC_HS_CNTL_CLIP_MASK__SHIFT = 16
A6XX_PC_HS_CNTL_SHADINGRATE = 0x01000000
REG_A6XX_PC_DS_CNTL = 0x00009b04
A6XX_PC_DS_CNTL_STRIDE_IN_VPC__MASK = 0x000000ff
A6XX_PC_DS_CNTL_STRIDE_IN_VPC__SHIFT = 0
A6XX_PC_DS_CNTL_PSIZE = 0x00000100
A6XX_PC_DS_CNTL_LAYER = 0x00000200
A6XX_PC_DS_CNTL_VIEW = 0x00000400
A6XX_PC_DS_CNTL_PRIMITIVE_ID = 0x00000800
A6XX_PC_DS_CNTL_CLIP_MASK__MASK = 0x00ff0000
A6XX_PC_DS_CNTL_CLIP_MASK__SHIFT = 16
A6XX_PC_DS_CNTL_SHADINGRATE = 0x01000000
REG_A6XX_PC_GS_PARAM_0 = 0x00009b05
A6XX_PC_GS_PARAM_0_GS_VERTICES_OUT__MASK = 0x000000ff
A6XX_PC_GS_PARAM_0_GS_VERTICES_OUT__SHIFT = 0
A6XX_PC_GS_PARAM_0_GS_INVOCATIONS__MASK = 0x00007c00
A6XX_PC_GS_PARAM_0_GS_INVOCATIONS__SHIFT = 10
A6XX_PC_GS_PARAM_0_LINELENGTHEN = 0x00008000
A6XX_PC_GS_PARAM_0_GS_OUTPUT__MASK = 0x00030000
A6XX_PC_GS_PARAM_0_GS_OUTPUT__SHIFT = 16
A6XX_PC_GS_PARAM_0_UNK18 = 0x00040000
REG_A6XX_PC_PRIMITIVE_CNTL_6 = 0x00009b06
A6XX_PC_PRIMITIVE_CNTL_6_STRIDE_IN_VPC__MASK = 0x000007ff
A6XX_PC_PRIMITIVE_CNTL_6_STRIDE_IN_VPC__SHIFT = 0
REG_A6XX_PC_STEREO_RENDERING_CNTL = 0x00009b07
A6XX_PC_STEREO_RENDERING_CNTL_ENABLE = 0x00000001
A6XX_PC_STEREO_RENDERING_CNTL_DISABLEMULTIPOS = 0x00000002
A6XX_PC_STEREO_RENDERING_CNTL_VIEWS__MASK = 0x0000007c
A6XX_PC_STEREO_RENDERING_CNTL_VIEWS__SHIFT = 2
REG_A6XX_PC_STEREO_RENDERING_VIEWMASK = 0x00009b08
REG_A6XX_PC_2D_EVENT_CMD = 0x00009c00
A6XX_PC_2D_EVENT_CMD_EVENT__MASK = 0x0000007f
A6XX_PC_2D_EVENT_CMD_EVENT__SHIFT = 0
A6XX_PC_2D_EVENT_CMD_STATE_ID__MASK = 0x0000ff00
A6XX_PC_2D_EVENT_CMD_STATE_ID__SHIFT = 8
REG_A6XX_PC_DBG_ECO_CNTL = 0x00009e00
REG_A6XX_PC_ADDR_MODE_CNTL = 0x00009e01
REG_A6XX_PC_DMA_BASE = 0x00009e04
REG_A6XX_PC_DMA_OFFSET = 0x00009e06
REG_A6XX_PC_DMA_SIZE = 0x00009e07
REG_A6XX_PC_TESS_BASE = 0x00009e08
REG_A7XX_PC_TESS_BASE = 0x00009810
REG_A6XX_PC_DRAWCALL_CNTL = 0x00009e0b
A6XX_PC_DRAWCALL_CNTL_PRIM_TYPE__MASK = 0x0000003f
A6XX_PC_DRAWCALL_CNTL_PRIM_TYPE__SHIFT = 0
A6XX_PC_DRAWCALL_CNTL_SOURCE_SELECT__MASK = 0x000000c0
A6XX_PC_DRAWCALL_CNTL_SOURCE_SELECT__SHIFT = 6
A6XX_PC_DRAWCALL_CNTL_VIS_CULL__MASK = 0x00000300
A6XX_PC_DRAWCALL_CNTL_VIS_CULL__SHIFT = 8
A6XX_PC_DRAWCALL_CNTL_INDEX_SIZE__MASK = 0x00000c00
A6XX_PC_DRAWCALL_CNTL_INDEX_SIZE__SHIFT = 10
A6XX_PC_DRAWCALL_CNTL_PATCH_TYPE__MASK = 0x00003000
A6XX_PC_DRAWCALL_CNTL_PATCH_TYPE__SHIFT = 12
A6XX_PC_DRAWCALL_CNTL_GS_ENABLE = 0x00010000
A6XX_PC_DRAWCALL_CNTL_TESS_ENABLE = 0x00020000
REG_A6XX_PC_DRAWCALL_INSTANCE_NUM = 0x00009e0c
REG_A6XX_PC_DRAWCALL_SIZE = 0x00009e0d
REG_A6XX_PC_VIS_STREAM_CNTL = 0x00009e11
A6XX_PC_VIS_STREAM_CNTL_UNK0__MASK = 0x0000ffff
A6XX_PC_VIS_STREAM_CNTL_UNK0__SHIFT = 0
A6XX_PC_VIS_STREAM_CNTL_VSC_SIZE__MASK = 0x003f0000
A6XX_PC_VIS_STREAM_CNTL_VSC_SIZE__SHIFT = 16
A6XX_PC_VIS_STREAM_CNTL_VSC_N__MASK = 0x07c00000
A6XX_PC_VIS_STREAM_CNTL_VSC_N__SHIFT = 22
REG_A6XX_PC_PVIS_STREAM_BIN_BASE = 0x00009e12
REG_A6XX_PC_DVIS_STREAM_BIN_BASE = 0x00009e14
REG_A6XX_PC_DRAWCALL_CNTL_OVERRIDE = 0x00009e1c
A6XX_PC_DRAWCALL_CNTL_OVERRIDE_OVERRIDE = 0x00000001
REG_A7XX_PC_UNKNOWN_9E24 = 0x00009e24
REG_A6XX_PC_PERFCTR_PC_SEL = lambda i0: (0x00009e34 + 0x1*i0 ) # type: ignore
REG_A7XX_PC_PERFCTR_PC_SEL = lambda i0: (0x00009e42 + 0x1*i0 ) # type: ignore
REG_A6XX_PC_UNKNOWN_9E72 = 0x00009e72
REG_A6XX_VFD_CNTL_0 = 0x0000a000
A6XX_VFD_CNTL_0_FETCH_CNT__MASK = 0x0000003f
A6XX_VFD_CNTL_0_FETCH_CNT__SHIFT = 0
A6XX_VFD_CNTL_0_DECODE_CNT__MASK = 0x00003f00
A6XX_VFD_CNTL_0_DECODE_CNT__SHIFT = 8
REG_A6XX_VFD_CNTL_1 = 0x0000a001
A6XX_VFD_CNTL_1_REGID4VTX__MASK = 0x000000ff
A6XX_VFD_CNTL_1_REGID4VTX__SHIFT = 0
A6XX_VFD_CNTL_1_REGID4INST__MASK = 0x0000ff00
A6XX_VFD_CNTL_1_REGID4INST__SHIFT = 8
A6XX_VFD_CNTL_1_REGID4PRIMID__MASK = 0x00ff0000
A6XX_VFD_CNTL_1_REGID4PRIMID__SHIFT = 16
A6XX_VFD_CNTL_1_REGID4VIEWID__MASK = 0xff000000
A6XX_VFD_CNTL_1_REGID4VIEWID__SHIFT = 24
REG_A6XX_VFD_CNTL_2 = 0x0000a002
A6XX_VFD_CNTL_2_REGID_HSRELPATCHID__MASK = 0x000000ff
A6XX_VFD_CNTL_2_REGID_HSRELPATCHID__SHIFT = 0
A6XX_VFD_CNTL_2_REGID_INVOCATIONID__MASK = 0x0000ff00
A6XX_VFD_CNTL_2_REGID_INVOCATIONID__SHIFT = 8
REG_A6XX_VFD_CNTL_3 = 0x0000a003
A6XX_VFD_CNTL_3_REGID_DSPRIMID__MASK = 0x000000ff
A6XX_VFD_CNTL_3_REGID_DSPRIMID__SHIFT = 0
A6XX_VFD_CNTL_3_REGID_DSRELPATCHID__MASK = 0x0000ff00
A6XX_VFD_CNTL_3_REGID_DSRELPATCHID__SHIFT = 8
A6XX_VFD_CNTL_3_REGID_TESSX__MASK = 0x00ff0000
A6XX_VFD_CNTL_3_REGID_TESSX__SHIFT = 16
A6XX_VFD_CNTL_3_REGID_TESSY__MASK = 0xff000000
A6XX_VFD_CNTL_3_REGID_TESSY__SHIFT = 24
REG_A6XX_VFD_CNTL_4 = 0x0000a004
A6XX_VFD_CNTL_4_UNK0__MASK = 0x000000ff
A6XX_VFD_CNTL_4_UNK0__SHIFT = 0
REG_A6XX_VFD_CNTL_5 = 0x0000a005
A6XX_VFD_CNTL_5_REGID_GSHEADER__MASK = 0x000000ff
A6XX_VFD_CNTL_5_REGID_GSHEADER__SHIFT = 0
A6XX_VFD_CNTL_5_UNK8__MASK = 0x0000ff00
A6XX_VFD_CNTL_5_UNK8__SHIFT = 8
REG_A6XX_VFD_CNTL_6 = 0x0000a006
A6XX_VFD_CNTL_6_PRIMID4PSEN = 0x00000001
REG_A6XX_VFD_RENDER_MODE = 0x0000a007
A6XX_VFD_RENDER_MODE_RENDER_MODE__MASK = 0x00000007
A6XX_VFD_RENDER_MODE_RENDER_MODE__SHIFT = 0
REG_A6XX_VFD_STEREO_RENDERING_CNTL = 0x0000a008
A6XX_VFD_STEREO_RENDERING_CNTL_ENABLE = 0x00000001
A6XX_VFD_STEREO_RENDERING_CNTL_DISABLEMULTIPOS = 0x00000002
A6XX_VFD_STEREO_RENDERING_CNTL_VIEWS__MASK = 0x0000007c
A6XX_VFD_STEREO_RENDERING_CNTL_VIEWS__SHIFT = 2
REG_A6XX_VFD_MODE_CNTL = 0x0000a009
A6XX_VFD_MODE_CNTL_VERTEX = 0x00000001
A6XX_VFD_MODE_CNTL_INSTANCE = 0x00000002
REG_A6XX_VFD_INDEX_OFFSET = 0x0000a00e
REG_A6XX_VFD_INSTANCE_START_OFFSET = 0x0000a00f
REG_A6XX_VFD_VERTEX_BUFFER = lambda i0: (0x0000a010 + 0x4*i0 ) # type: ignore
REG_A6XX_VFD_FETCH_INSTR = lambda i0: (0x0000a090 + 0x2*i0 ) # type: ignore
A6XX_VFD_FETCH_INSTR_INSTR_IDX__MASK = 0x0000001f
A6XX_VFD_FETCH_INSTR_INSTR_IDX__SHIFT = 0
A6XX_VFD_FETCH_INSTR_INSTR_OFFSET__MASK = 0x0001ffe0
A6XX_VFD_FETCH_INSTR_INSTR_OFFSET__SHIFT = 5
A6XX_VFD_FETCH_INSTR_INSTR_INSTANCED = 0x00020000
A6XX_VFD_FETCH_INSTR_INSTR_FORMAT__MASK = 0x0ff00000
A6XX_VFD_FETCH_INSTR_INSTR_FORMAT__SHIFT = 20
A6XX_VFD_FETCH_INSTR_INSTR_SWAP__MASK = 0x30000000
A6XX_VFD_FETCH_INSTR_INSTR_SWAP__SHIFT = 28
A6XX_VFD_FETCH_INSTR_INSTR_UNK30 = 0x40000000
A6XX_VFD_FETCH_INSTR_INSTR_FLOAT = 0x80000000
REG_A6XX_VFD_DEST_CNTL = lambda i0: (0x0000a0d0 + 0x1*i0 ) # type: ignore
A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK = 0x0000000f
A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT = 0
A6XX_VFD_DEST_CNTL_INSTR_REGID__MASK = 0x00000ff0
A6XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT = 4
REG_A6XX_VFD_POWER_CNTL = 0x0000a0f8
REG_A7XX_VFD_DBG_ECO_CNTL = 0x0000a600
REG_A6XX_VFD_ADDR_MODE_CNTL = 0x0000a601
REG_A6XX_VFD_PERFCTR_VFD_SEL = lambda i0: (0x0000a610 + 0x1*i0 ) # type: ignore
REG_A7XX_VFD_PERFCTR_VFD_SEL = lambda i0: (0x0000a610 + 0x1*i0 ) # type: ignore
REG_A6XX_SP_VS_CNTL_0 = 0x0000a800
A6XX_SP_VS_CNTL_0_THREADMODE__MASK = 0x00000001
A6XX_SP_VS_CNTL_0_THREADMODE__SHIFT = 0
A6XX_SP_VS_CNTL_0_HALFREGFOOTPRINT__MASK = 0x0000007e
A6XX_SP_VS_CNTL_0_HALFREGFOOTPRINT__SHIFT = 1
A6XX_SP_VS_CNTL_0_FULLREGFOOTPRINT__MASK = 0x00001f80
A6XX_SP_VS_CNTL_0_FULLREGFOOTPRINT__SHIFT = 7
A6XX_SP_VS_CNTL_0_UNK13 = 0x00002000
A6XX_SP_VS_CNTL_0_BRANCHSTACK__MASK = 0x000fc000
A6XX_SP_VS_CNTL_0_BRANCHSTACK__SHIFT = 14
A6XX_SP_VS_CNTL_0_MERGEDREGS = 0x00100000
A6XX_SP_VS_CNTL_0_EARLYPREAMBLE = 0x00200000
REG_A6XX_SP_VS_BOOLEAN_CF_MASK = 0x0000a801
REG_A6XX_SP_VS_OUTPUT_CNTL = 0x0000a802
A6XX_SP_VS_OUTPUT_CNTL_OUT__MASK = 0x0000003f
A6XX_SP_VS_OUTPUT_CNTL_OUT__SHIFT = 0
A6XX_SP_VS_OUTPUT_CNTL_FLAGS_REGID__MASK = 0x00003fc0
A6XX_SP_VS_OUTPUT_CNTL_FLAGS_REGID__SHIFT = 6
REG_A6XX_SP_VS_OUTPUT = lambda i0: (0x0000a803 + 0x1*i0 ) # type: ignore
A6XX_SP_VS_OUTPUT_REG_A_REGID__MASK = 0x000000ff
A6XX_SP_VS_OUTPUT_REG_A_REGID__SHIFT = 0
A6XX_SP_VS_OUTPUT_REG_A_COMPMASK__MASK = 0x00000f00
A6XX_SP_VS_OUTPUT_REG_A_COMPMASK__SHIFT = 8
A6XX_SP_VS_OUTPUT_REG_B_REGID__MASK = 0x00ff0000
A6XX_SP_VS_OUTPUT_REG_B_REGID__SHIFT = 16
A6XX_SP_VS_OUTPUT_REG_B_COMPMASK__MASK = 0x0f000000
A6XX_SP_VS_OUTPUT_REG_B_COMPMASK__SHIFT = 24
REG_A6XX_SP_VS_VPC_DEST = lambda i0: (0x0000a813 + 0x1*i0 ) # type: ignore
A6XX_SP_VS_VPC_DEST_REG_OUTLOC0__MASK = 0x000000ff
A6XX_SP_VS_VPC_DEST_REG_OUTLOC0__SHIFT = 0
A6XX_SP_VS_VPC_DEST_REG_OUTLOC1__MASK = 0x0000ff00
A6XX_SP_VS_VPC_DEST_REG_OUTLOC1__SHIFT = 8
A6XX_SP_VS_VPC_DEST_REG_OUTLOC2__MASK = 0x00ff0000
A6XX_SP_VS_VPC_DEST_REG_OUTLOC2__SHIFT = 16
A6XX_SP_VS_VPC_DEST_REG_OUTLOC3__MASK = 0xff000000
A6XX_SP_VS_VPC_DEST_REG_OUTLOC3__SHIFT = 24
REG_A6XX_SP_VS_PROGRAM_COUNTER_OFFSET = 0x0000a81b
REG_A6XX_SP_VS_BASE = 0x0000a81c
REG_A6XX_SP_VS_PVT_MEM_PARAM = 0x0000a81e
A6XX_SP_VS_PVT_MEM_PARAM_MEMSIZEPERITEM__MASK = 0x000000ff
A6XX_SP_VS_PVT_MEM_PARAM_MEMSIZEPERITEM__SHIFT = 0
A6XX_SP_VS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__MASK = 0xff000000
A6XX_SP_VS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__SHIFT = 24
REG_A6XX_SP_VS_PVT_MEM_BASE = 0x0000a81f
REG_A6XX_SP_VS_PVT_MEM_SIZE = 0x0000a821
A6XX_SP_VS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__MASK = 0x0003ffff
A6XX_SP_VS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__SHIFT = 0
A6XX_SP_VS_PVT_MEM_SIZE_PERWAVEMEMLAYOUT = 0x80000000
REG_A6XX_SP_VS_TSIZE = 0x0000a822
REG_A6XX_SP_VS_CONFIG = 0x0000a823
A6XX_SP_VS_CONFIG_BINDLESS_TEX = 0x00000001
A6XX_SP_VS_CONFIG_BINDLESS_SAMP = 0x00000002
A6XX_SP_VS_CONFIG_BINDLESS_UAV = 0x00000004
A6XX_SP_VS_CONFIG_BINDLESS_UBO = 0x00000008
A6XX_SP_VS_CONFIG_ENABLED = 0x00000100
A6XX_SP_VS_CONFIG_NTEX__MASK = 0x0001fe00
A6XX_SP_VS_CONFIG_NTEX__SHIFT = 9
A6XX_SP_VS_CONFIG_NSAMP__MASK = 0x003e0000
A6XX_SP_VS_CONFIG_NSAMP__SHIFT = 17
A6XX_SP_VS_CONFIG_NUAV__MASK = 0x1fc00000
A6XX_SP_VS_CONFIG_NUAV__SHIFT = 22
REG_A6XX_SP_VS_INSTR_SIZE = 0x0000a824
REG_A6XX_SP_VS_PVT_MEM_STACK_OFFSET = 0x0000a825
A6XX_SP_VS_PVT_MEM_STACK_OFFSET_OFFSET__MASK = 0x0007ffff
A6XX_SP_VS_PVT_MEM_STACK_OFFSET_OFFSET__SHIFT = 0
REG_A7XX_SP_VS_VGS_CNTL = 0x0000a82d
REG_A6XX_SP_HS_CNTL_0 = 0x0000a830
A6XX_SP_HS_CNTL_0_THREADMODE__MASK = 0x00000001
A6XX_SP_HS_CNTL_0_THREADMODE__SHIFT = 0
A6XX_SP_HS_CNTL_0_HALFREGFOOTPRINT__MASK = 0x0000007e
A6XX_SP_HS_CNTL_0_HALFREGFOOTPRINT__SHIFT = 1
A6XX_SP_HS_CNTL_0_FULLREGFOOTPRINT__MASK = 0x00001f80
A6XX_SP_HS_CNTL_0_FULLREGFOOTPRINT__SHIFT = 7
A6XX_SP_HS_CNTL_0_UNK13 = 0x00002000
A6XX_SP_HS_CNTL_0_BRANCHSTACK__MASK = 0x000fc000
A6XX_SP_HS_CNTL_0_BRANCHSTACK__SHIFT = 14
A6XX_SP_HS_CNTL_0_EARLYPREAMBLE = 0x00100000
REG_A6XX_SP_HS_CNTL_1 = 0x0000a831
REG_A6XX_SP_HS_BOOLEAN_CF_MASK = 0x0000a832
REG_A6XX_SP_HS_PROGRAM_COUNTER_OFFSET = 0x0000a833
REG_A6XX_SP_HS_BASE = 0x0000a834
REG_A6XX_SP_HS_PVT_MEM_PARAM = 0x0000a836
A6XX_SP_HS_PVT_MEM_PARAM_MEMSIZEPERITEM__MASK = 0x000000ff
A6XX_SP_HS_PVT_MEM_PARAM_MEMSIZEPERITEM__SHIFT = 0
A6XX_SP_HS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__MASK = 0xff000000
A6XX_SP_HS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__SHIFT = 24
REG_A6XX_SP_HS_PVT_MEM_BASE = 0x0000a837
REG_A6XX_SP_HS_PVT_MEM_SIZE = 0x0000a839
A6XX_SP_HS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__MASK = 0x0003ffff
A6XX_SP_HS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__SHIFT = 0
A6XX_SP_HS_PVT_MEM_SIZE_PERWAVEMEMLAYOUT = 0x80000000
REG_A6XX_SP_HS_TSIZE = 0x0000a83a
REG_A6XX_SP_HS_CONFIG = 0x0000a83b
A6XX_SP_HS_CONFIG_BINDLESS_TEX = 0x00000001
A6XX_SP_HS_CONFIG_BINDLESS_SAMP = 0x00000002
A6XX_SP_HS_CONFIG_BINDLESS_UAV = 0x00000004
A6XX_SP_HS_CONFIG_BINDLESS_UBO = 0x00000008
A6XX_SP_HS_CONFIG_ENABLED = 0x00000100
A6XX_SP_HS_CONFIG_NTEX__MASK = 0x0001fe00
A6XX_SP_HS_CONFIG_NTEX__SHIFT = 9
A6XX_SP_HS_CONFIG_NSAMP__MASK = 0x003e0000
A6XX_SP_HS_CONFIG_NSAMP__SHIFT = 17
A6XX_SP_HS_CONFIG_NUAV__MASK = 0x1fc00000
A6XX_SP_HS_CONFIG_NUAV__SHIFT = 22
REG_A6XX_SP_HS_INSTR_SIZE = 0x0000a83c
REG_A6XX_SP_HS_PVT_MEM_STACK_OFFSET = 0x0000a83d
A6XX_SP_HS_PVT_MEM_STACK_OFFSET_OFFSET__MASK = 0x0007ffff
A6XX_SP_HS_PVT_MEM_STACK_OFFSET_OFFSET__SHIFT = 0
REG_A7XX_SP_HS_VGS_CNTL = 0x0000a82f
REG_A6XX_SP_DS_CNTL_0 = 0x0000a840
A6XX_SP_DS_CNTL_0_THREADMODE__MASK = 0x00000001
A6XX_SP_DS_CNTL_0_THREADMODE__SHIFT = 0
A6XX_SP_DS_CNTL_0_HALFREGFOOTPRINT__MASK = 0x0000007e
A6XX_SP_DS_CNTL_0_HALFREGFOOTPRINT__SHIFT = 1
A6XX_SP_DS_CNTL_0_FULLREGFOOTPRINT__MASK = 0x00001f80
A6XX_SP_DS_CNTL_0_FULLREGFOOTPRINT__SHIFT = 7
A6XX_SP_DS_CNTL_0_UNK13 = 0x00002000
A6XX_SP_DS_CNTL_0_BRANCHSTACK__MASK = 0x000fc000
A6XX_SP_DS_CNTL_0_BRANCHSTACK__SHIFT = 14
A6XX_SP_DS_CNTL_0_EARLYPREAMBLE = 0x00100000
REG_A6XX_SP_DS_BOOLEAN_CF_MASK = 0x0000a841
REG_A6XX_SP_DS_OUTPUT_CNTL = 0x0000a842
A6XX_SP_DS_OUTPUT_CNTL_OUT__MASK = 0x0000003f
A6XX_SP_DS_OUTPUT_CNTL_OUT__SHIFT = 0
A6XX_SP_DS_OUTPUT_CNTL_FLAGS_REGID__MASK = 0x00003fc0
A6XX_SP_DS_OUTPUT_CNTL_FLAGS_REGID__SHIFT = 6
REG_A6XX_SP_DS_OUTPUT = lambda i0: (0x0000a843 + 0x1*i0 ) # type: ignore
A6XX_SP_DS_OUTPUT_REG_A_REGID__MASK = 0x000000ff
A6XX_SP_DS_OUTPUT_REG_A_REGID__SHIFT = 0
A6XX_SP_DS_OUTPUT_REG_A_COMPMASK__MASK = 0x00000f00
A6XX_SP_DS_OUTPUT_REG_A_COMPMASK__SHIFT = 8
A6XX_SP_DS_OUTPUT_REG_B_REGID__MASK = 0x00ff0000
A6XX_SP_DS_OUTPUT_REG_B_REGID__SHIFT = 16
A6XX_SP_DS_OUTPUT_REG_B_COMPMASK__MASK = 0x0f000000
A6XX_SP_DS_OUTPUT_REG_B_COMPMASK__SHIFT = 24
REG_A6XX_SP_DS_VPC_DEST = lambda i0: (0x0000a853 + 0x1*i0 ) # type: ignore
A6XX_SP_DS_VPC_DEST_REG_OUTLOC0__MASK = 0x000000ff
A6XX_SP_DS_VPC_DEST_REG_OUTLOC0__SHIFT = 0
A6XX_SP_DS_VPC_DEST_REG_OUTLOC1__MASK = 0x0000ff00
A6XX_SP_DS_VPC_DEST_REG_OUTLOC1__SHIFT = 8
A6XX_SP_DS_VPC_DEST_REG_OUTLOC2__MASK = 0x00ff0000
A6XX_SP_DS_VPC_DEST_REG_OUTLOC2__SHIFT = 16
A6XX_SP_DS_VPC_DEST_REG_OUTLOC3__MASK = 0xff000000
A6XX_SP_DS_VPC_DEST_REG_OUTLOC3__SHIFT = 24
REG_A6XX_SP_DS_PROGRAM_COUNTER_OFFSET = 0x0000a85b
REG_A6XX_SP_DS_BASE = 0x0000a85c
REG_A6XX_SP_DS_PVT_MEM_PARAM = 0x0000a85e
A6XX_SP_DS_PVT_MEM_PARAM_MEMSIZEPERITEM__MASK = 0x000000ff
A6XX_SP_DS_PVT_MEM_PARAM_MEMSIZEPERITEM__SHIFT = 0
A6XX_SP_DS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__MASK = 0xff000000
A6XX_SP_DS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__SHIFT = 24
REG_A6XX_SP_DS_PVT_MEM_BASE = 0x0000a85f
REG_A6XX_SP_DS_PVT_MEM_SIZE = 0x0000a861
A6XX_SP_DS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__MASK = 0x0003ffff
A6XX_SP_DS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__SHIFT = 0
A6XX_SP_DS_PVT_MEM_SIZE_PERWAVEMEMLAYOUT = 0x80000000
REG_A6XX_SP_DS_TSIZE = 0x0000a862
REG_A6XX_SP_DS_CONFIG = 0x0000a863
A6XX_SP_DS_CONFIG_BINDLESS_TEX = 0x00000001
A6XX_SP_DS_CONFIG_BINDLESS_SAMP = 0x00000002
A6XX_SP_DS_CONFIG_BINDLESS_UAV = 0x00000004
A6XX_SP_DS_CONFIG_BINDLESS_UBO = 0x00000008
A6XX_SP_DS_CONFIG_ENABLED = 0x00000100
A6XX_SP_DS_CONFIG_NTEX__MASK = 0x0001fe00
A6XX_SP_DS_CONFIG_NTEX__SHIFT = 9
A6XX_SP_DS_CONFIG_NSAMP__MASK = 0x003e0000
A6XX_SP_DS_CONFIG_NSAMP__SHIFT = 17
A6XX_SP_DS_CONFIG_NUAV__MASK = 0x1fc00000
A6XX_SP_DS_CONFIG_NUAV__SHIFT = 22
REG_A6XX_SP_DS_INSTR_SIZE = 0x0000a864
REG_A6XX_SP_DS_PVT_MEM_STACK_OFFSET = 0x0000a865
A6XX_SP_DS_PVT_MEM_STACK_OFFSET_OFFSET__MASK = 0x0007ffff
A6XX_SP_DS_PVT_MEM_STACK_OFFSET_OFFSET__SHIFT = 0
REG_A7XX_SP_DS_VGS_CNTL = 0x0000a868
REG_A6XX_SP_GS_CNTL_0 = 0x0000a870
A6XX_SP_GS_CNTL_0_THREADMODE__MASK = 0x00000001
A6XX_SP_GS_CNTL_0_THREADMODE__SHIFT = 0
A6XX_SP_GS_CNTL_0_HALFREGFOOTPRINT__MASK = 0x0000007e
A6XX_SP_GS_CNTL_0_HALFREGFOOTPRINT__SHIFT = 1
A6XX_SP_GS_CNTL_0_FULLREGFOOTPRINT__MASK = 0x00001f80
A6XX_SP_GS_CNTL_0_FULLREGFOOTPRINT__SHIFT = 7
A6XX_SP_GS_CNTL_0_UNK13 = 0x00002000
A6XX_SP_GS_CNTL_0_BRANCHSTACK__MASK = 0x000fc000
A6XX_SP_GS_CNTL_0_BRANCHSTACK__SHIFT = 14
A6XX_SP_GS_CNTL_0_EARLYPREAMBLE = 0x00100000
REG_A6XX_SP_GS_CNTL_1 = 0x0000a871
REG_A6XX_SP_GS_BOOLEAN_CF_MASK = 0x0000a872
REG_A6XX_SP_GS_OUTPUT_CNTL = 0x0000a873
A6XX_SP_GS_OUTPUT_CNTL_OUT__MASK = 0x0000003f
A6XX_SP_GS_OUTPUT_CNTL_OUT__SHIFT = 0
A6XX_SP_GS_OUTPUT_CNTL_FLAGS_REGID__MASK = 0x00003fc0
A6XX_SP_GS_OUTPUT_CNTL_FLAGS_REGID__SHIFT = 6
REG_A6XX_SP_GS_OUTPUT = lambda i0: (0x0000a874 + 0x1*i0 ) # type: ignore
A6XX_SP_GS_OUTPUT_REG_A_REGID__MASK = 0x000000ff
A6XX_SP_GS_OUTPUT_REG_A_REGID__SHIFT = 0
A6XX_SP_GS_OUTPUT_REG_A_COMPMASK__MASK = 0x00000f00
A6XX_SP_GS_OUTPUT_REG_A_COMPMASK__SHIFT = 8
A6XX_SP_GS_OUTPUT_REG_B_REGID__MASK = 0x00ff0000
A6XX_SP_GS_OUTPUT_REG_B_REGID__SHIFT = 16
A6XX_SP_GS_OUTPUT_REG_B_COMPMASK__MASK = 0x0f000000
A6XX_SP_GS_OUTPUT_REG_B_COMPMASK__SHIFT = 24
REG_A6XX_SP_GS_VPC_DEST = lambda i0: (0x0000a884 + 0x1*i0 ) # type: ignore
A6XX_SP_GS_VPC_DEST_REG_OUTLOC0__MASK = 0x000000ff
A6XX_SP_GS_VPC_DEST_REG_OUTLOC0__SHIFT = 0
A6XX_SP_GS_VPC_DEST_REG_OUTLOC1__MASK = 0x0000ff00
A6XX_SP_GS_VPC_DEST_REG_OUTLOC1__SHIFT = 8
A6XX_SP_GS_VPC_DEST_REG_OUTLOC2__MASK = 0x00ff0000
A6XX_SP_GS_VPC_DEST_REG_OUTLOC2__SHIFT = 16
A6XX_SP_GS_VPC_DEST_REG_OUTLOC3__MASK = 0xff000000
A6XX_SP_GS_VPC_DEST_REG_OUTLOC3__SHIFT = 24
REG_A6XX_SP_GS_PROGRAM_COUNTER_OFFSET = 0x0000a88c
REG_A6XX_SP_GS_BASE = 0x0000a88d
REG_A6XX_SP_GS_PVT_MEM_PARAM = 0x0000a88f
A6XX_SP_GS_PVT_MEM_PARAM_MEMSIZEPERITEM__MASK = 0x000000ff
A6XX_SP_GS_PVT_MEM_PARAM_MEMSIZEPERITEM__SHIFT = 0
A6XX_SP_GS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__MASK = 0xff000000
A6XX_SP_GS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__SHIFT = 24
REG_A6XX_SP_GS_PVT_MEM_BASE = 0x0000a890
REG_A6XX_SP_GS_PVT_MEM_SIZE = 0x0000a892
A6XX_SP_GS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__MASK = 0x0003ffff
A6XX_SP_GS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__SHIFT = 0
A6XX_SP_GS_PVT_MEM_SIZE_PERWAVEMEMLAYOUT = 0x80000000
REG_A6XX_SP_GS_TSIZE = 0x0000a893
REG_A6XX_SP_GS_CONFIG = 0x0000a894
A6XX_SP_GS_CONFIG_BINDLESS_TEX = 0x00000001
A6XX_SP_GS_CONFIG_BINDLESS_SAMP = 0x00000002
A6XX_SP_GS_CONFIG_BINDLESS_UAV = 0x00000004
A6XX_SP_GS_CONFIG_BINDLESS_UBO = 0x00000008
A6XX_SP_GS_CONFIG_ENABLED = 0x00000100
A6XX_SP_GS_CONFIG_NTEX__MASK = 0x0001fe00
A6XX_SP_GS_CONFIG_NTEX__SHIFT = 9
A6XX_SP_GS_CONFIG_NSAMP__MASK = 0x003e0000
A6XX_SP_GS_CONFIG_NSAMP__SHIFT = 17
A6XX_SP_GS_CONFIG_NUAV__MASK = 0x1fc00000
A6XX_SP_GS_CONFIG_NUAV__SHIFT = 22
REG_A6XX_SP_GS_INSTR_SIZE = 0x0000a895
REG_A6XX_SP_GS_PVT_MEM_STACK_OFFSET = 0x0000a896
A6XX_SP_GS_PVT_MEM_STACK_OFFSET_OFFSET__MASK = 0x0007ffff
A6XX_SP_GS_PVT_MEM_STACK_OFFSET_OFFSET__SHIFT = 0
REG_A7XX_SP_GS_VGS_CNTL = 0x0000a899
REG_A6XX_SP_VS_SAMPLER_BASE = 0x0000a8a0
REG_A6XX_SP_HS_SAMPLER_BASE = 0x0000a8a2
REG_A6XX_SP_DS_SAMPLER_BASE = 0x0000a8a4
REG_A6XX_SP_GS_SAMPLER_BASE = 0x0000a8a6
REG_A6XX_SP_VS_TEXMEMOBJ_BASE = 0x0000a8a8
REG_A6XX_SP_HS_TEXMEMOBJ_BASE = 0x0000a8aa
REG_A6XX_SP_DS_TEXMEMOBJ_BASE = 0x0000a8ac
REG_A6XX_SP_GS_TEXMEMOBJ_BASE = 0x0000a8ae
REG_A6XX_SP_PS_CNTL_0 = 0x0000a980
A6XX_SP_PS_CNTL_0_THREADMODE__MASK = 0x00000001
A6XX_SP_PS_CNTL_0_THREADMODE__SHIFT = 0
A6XX_SP_PS_CNTL_0_HALFREGFOOTPRINT__MASK = 0x0000007e
A6XX_SP_PS_CNTL_0_HALFREGFOOTPRINT__SHIFT = 1
A6XX_SP_PS_CNTL_0_FULLREGFOOTPRINT__MASK = 0x00001f80
A6XX_SP_PS_CNTL_0_FULLREGFOOTPRINT__SHIFT = 7
A6XX_SP_PS_CNTL_0_UNK13 = 0x00002000
A6XX_SP_PS_CNTL_0_BRANCHSTACK__MASK = 0x000fc000
A6XX_SP_PS_CNTL_0_BRANCHSTACK__SHIFT = 14
A6XX_SP_PS_CNTL_0_THREADSIZE__MASK = 0x00100000
A6XX_SP_PS_CNTL_0_THREADSIZE__SHIFT = 20
A6XX_SP_PS_CNTL_0_UNK21 = 0x00200000
A6XX_SP_PS_CNTL_0_VARYING = 0x00400000
A6XX_SP_PS_CNTL_0_LODPIXMASK = 0x00800000
A6XX_SP_PS_CNTL_0_INOUTREGOVERLAP = 0x01000000
A6XX_SP_PS_CNTL_0_UNK25 = 0x02000000
A6XX_SP_PS_CNTL_0_PIXLODENABLE = 0x04000000
A6XX_SP_PS_CNTL_0_UNK27 = 0x08000000
A6XX_SP_PS_CNTL_0_EARLYPREAMBLE = 0x10000000
A6XX_SP_PS_CNTL_0_MERGEDREGS = 0x80000000
REG_A6XX_SP_PS_BOOLEAN_CF_MASK = 0x0000a981
REG_A6XX_SP_PS_PROGRAM_COUNTER_OFFSET = 0x0000a982
REG_A6XX_SP_PS_BASE = 0x0000a983
REG_A6XX_SP_PS_PVT_MEM_PARAM = 0x0000a985
A6XX_SP_PS_PVT_MEM_PARAM_MEMSIZEPERITEM__MASK = 0x000000ff
A6XX_SP_PS_PVT_MEM_PARAM_MEMSIZEPERITEM__SHIFT = 0
A6XX_SP_PS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__MASK = 0xff000000
A6XX_SP_PS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__SHIFT = 24
REG_A6XX_SP_PS_PVT_MEM_BASE = 0x0000a986
REG_A6XX_SP_PS_PVT_MEM_SIZE = 0x0000a988
A6XX_SP_PS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__MASK = 0x0003ffff
A6XX_SP_PS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__SHIFT = 0
A6XX_SP_PS_PVT_MEM_SIZE_PERWAVEMEMLAYOUT = 0x80000000
REG_A6XX_SP_BLEND_CNTL = 0x0000a989
A6XX_SP_BLEND_CNTL_ENABLE_BLEND__MASK = 0x000000ff
A6XX_SP_BLEND_CNTL_ENABLE_BLEND__SHIFT = 0
A6XX_SP_BLEND_CNTL_UNK8 = 0x00000100
A6XX_SP_BLEND_CNTL_DUAL_COLOR_IN_ENABLE = 0x00000200
A6XX_SP_BLEND_CNTL_ALPHA_TO_COVERAGE = 0x00000400
REG_A6XX_SP_SRGB_CNTL = 0x0000a98a
A6XX_SP_SRGB_CNTL_SRGB_MRT0 = 0x00000001
A6XX_SP_SRGB_CNTL_SRGB_MRT1 = 0x00000002
A6XX_SP_SRGB_CNTL_SRGB_MRT2 = 0x00000004
A6XX_SP_SRGB_CNTL_SRGB_MRT3 = 0x00000008
A6XX_SP_SRGB_CNTL_SRGB_MRT4 = 0x00000010
A6XX_SP_SRGB_CNTL_SRGB_MRT5 = 0x00000020
A6XX_SP_SRGB_CNTL_SRGB_MRT6 = 0x00000040
A6XX_SP_SRGB_CNTL_SRGB_MRT7 = 0x00000080
REG_A6XX_SP_PS_OUTPUT_MASK = 0x0000a98b
A6XX_SP_PS_OUTPUT_MASK_RT0__MASK = 0x0000000f
A6XX_SP_PS_OUTPUT_MASK_RT0__SHIFT = 0
A6XX_SP_PS_OUTPUT_MASK_RT1__MASK = 0x000000f0
A6XX_SP_PS_OUTPUT_MASK_RT1__SHIFT = 4
A6XX_SP_PS_OUTPUT_MASK_RT2__MASK = 0x00000f00
A6XX_SP_PS_OUTPUT_MASK_RT2__SHIFT = 8
A6XX_SP_PS_OUTPUT_MASK_RT3__MASK = 0x0000f000
A6XX_SP_PS_OUTPUT_MASK_RT3__SHIFT = 12
A6XX_SP_PS_OUTPUT_MASK_RT4__MASK = 0x000f0000
A6XX_SP_PS_OUTPUT_MASK_RT4__SHIFT = 16
A6XX_SP_PS_OUTPUT_MASK_RT5__MASK = 0x00f00000
A6XX_SP_PS_OUTPUT_MASK_RT5__SHIFT = 20
A6XX_SP_PS_OUTPUT_MASK_RT6__MASK = 0x0f000000
A6XX_SP_PS_OUTPUT_MASK_RT6__SHIFT = 24
A6XX_SP_PS_OUTPUT_MASK_RT7__MASK = 0xf0000000
A6XX_SP_PS_OUTPUT_MASK_RT7__SHIFT = 28
REG_A6XX_SP_PS_OUTPUT_CNTL = 0x0000a98c
A6XX_SP_PS_OUTPUT_CNTL_DUAL_COLOR_IN_ENABLE = 0x00000001
A6XX_SP_PS_OUTPUT_CNTL_DEPTH_REGID__MASK = 0x0000ff00
A6XX_SP_PS_OUTPUT_CNTL_DEPTH_REGID__SHIFT = 8
A6XX_SP_PS_OUTPUT_CNTL_SAMPMASK_REGID__MASK = 0x00ff0000
A6XX_SP_PS_OUTPUT_CNTL_SAMPMASK_REGID__SHIFT = 16
A6XX_SP_PS_OUTPUT_CNTL_STENCILREF_REGID__MASK = 0xff000000
A6XX_SP_PS_OUTPUT_CNTL_STENCILREF_REGID__SHIFT = 24
REG_A6XX_SP_PS_MRT_CNTL = 0x0000a98d
A6XX_SP_PS_MRT_CNTL_MRT__MASK = 0x0000000f
A6XX_SP_PS_MRT_CNTL_MRT__SHIFT = 0
REG_A6XX_SP_PS_OUTPUT = lambda i0: (0x0000a98e + 0x1*i0 ) # type: ignore
A6XX_SP_PS_OUTPUT_REG_REGID__MASK = 0x000000ff
A6XX_SP_PS_OUTPUT_REG_REGID__SHIFT = 0
A6XX_SP_PS_OUTPUT_REG_HALF_PRECISION = 0x00000100
REG_A6XX_SP_PS_MRT = lambda i0: (0x0000a996 + 0x1*i0 ) # type: ignore
A6XX_SP_PS_MRT_REG_COLOR_FORMAT__MASK = 0x000000ff
A6XX_SP_PS_MRT_REG_COLOR_FORMAT__SHIFT = 0
A6XX_SP_PS_MRT_REG_COLOR_SINT = 0x00000100
A6XX_SP_PS_MRT_REG_COLOR_UINT = 0x00000200
A6XX_SP_PS_MRT_REG_UNK10 = 0x00000400
REG_A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL = 0x0000a99e
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_COUNT__MASK = 0x00000007
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_COUNT__SHIFT = 0
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_IJ_WRITE_DISABLE = 0x00000008
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_ENDOFQUAD = 0x00000010
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_WRITE_COLOR_TO_OUTPUT = 0x00000020
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_CONSTSLOTID__MASK = 0x00007fc0
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_CONSTSLOTID__SHIFT = 6
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_CONSTSLOTID4COORD__MASK = 0x01ff0000
A6XX_SP_PS_INITIAL_TEX_LOAD_CNTL_CONSTSLOTID4COORD__SHIFT = 16
REG_A6XX_SP_PS_INITIAL_TEX_LOAD = lambda i0: (0x0000a99f + 0x1*i0 ) # type: ignore
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_SRC__MASK = 0x0000007f
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_SRC__SHIFT = 0
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_SAMP_ID__MASK = 0x00000780
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_SAMP_ID__SHIFT = 7
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_TEX_ID__MASK = 0x0000f800
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_TEX_ID__SHIFT = 11
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_DST__MASK = 0x003f0000
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_DST__SHIFT = 16
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_WRMASK__MASK = 0x03c00000
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_WRMASK__SHIFT = 22
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_HALF = 0x04000000
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_UNK27 = 0x08000000
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_BINDLESS = 0x10000000
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_CMD__MASK = 0xe0000000
A6XX_SP_PS_INITIAL_TEX_LOAD_CMD_CMD__SHIFT = 29
REG_A7XX_SP_PS_INITIAL_TEX_LOAD = lambda i0: (0x0000a99f + 0x1*i0 ) # type: ignore
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_SRC__MASK = 0x0000007f
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_SRC__SHIFT = 0
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_SAMP_ID__MASK = 0x00000380
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_SAMP_ID__SHIFT = 7
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_TEX_ID__MASK = 0x00001c00
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_TEX_ID__SHIFT = 10
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_DST__MASK = 0x0007e000
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_DST__SHIFT = 13
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_WRMASK__MASK = 0x00780000
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_WRMASK__SHIFT = 19
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_HALF = 0x00800000
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_BINDLESS = 0x02000000
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_CMD__MASK = 0x3c000000
A7XX_SP_PS_INITIAL_TEX_LOAD_CMD_CMD__SHIFT = 26
REG_A6XX_SP_PS_INITIAL_TEX_INDEX = lambda i0: (0x0000a9a3 + 0x1*i0 ) # type: ignore
A6XX_SP_PS_INITIAL_TEX_INDEX_CMD_SAMP_ID__MASK = 0x0000ffff
A6XX_SP_PS_INITIAL_TEX_INDEX_CMD_SAMP_ID__SHIFT = 0
A6XX_SP_PS_INITIAL_TEX_INDEX_CMD_TEX_ID__MASK = 0xffff0000
A6XX_SP_PS_INITIAL_TEX_INDEX_CMD_TEX_ID__SHIFT = 16
REG_A6XX_SP_PS_TSIZE = 0x0000a9a7
REG_A6XX_SP_UNKNOWN_A9A8 = 0x0000a9a8
REG_A6XX_SP_PS_PVT_MEM_STACK_OFFSET = 0x0000a9a9
A6XX_SP_PS_PVT_MEM_STACK_OFFSET_OFFSET__MASK = 0x0007ffff
A6XX_SP_PS_PVT_MEM_STACK_OFFSET_OFFSET__SHIFT = 0
REG_A7XX_SP_PS_UNKNOWN_A9AB = 0x0000a9ab
REG_A6XX_SP_CS_CNTL_0 = 0x0000a9b0
A6XX_SP_CS_CNTL_0_THREADMODE__MASK = 0x00000001
A6XX_SP_CS_CNTL_0_THREADMODE__SHIFT = 0
A6XX_SP_CS_CNTL_0_HALFREGFOOTPRINT__MASK = 0x0000007e
A6XX_SP_CS_CNTL_0_HALFREGFOOTPRINT__SHIFT = 1
A6XX_SP_CS_CNTL_0_FULLREGFOOTPRINT__MASK = 0x00001f80
A6XX_SP_CS_CNTL_0_FULLREGFOOTPRINT__SHIFT = 7
A6XX_SP_CS_CNTL_0_UNK13 = 0x00002000
A6XX_SP_CS_CNTL_0_BRANCHSTACK__MASK = 0x000fc000
A6XX_SP_CS_CNTL_0_BRANCHSTACK__SHIFT = 14
A6XX_SP_CS_CNTL_0_THREADSIZE__MASK = 0x00100000
A6XX_SP_CS_CNTL_0_THREADSIZE__SHIFT = 20
A6XX_SP_CS_CNTL_0_UNK21 = 0x00200000
A6XX_SP_CS_CNTL_0_UNK22 = 0x00400000
A6XX_SP_CS_CNTL_0_EARLYPREAMBLE = 0x00800000
A6XX_SP_CS_CNTL_0_MERGEDREGS = 0x80000000
REG_A6XX_SP_CS_CNTL_1 = 0x0000a9b1
A6XX_SP_CS_CNTL_1_SHARED_SIZE__MASK = 0x0000001f
A6XX_SP_CS_CNTL_1_SHARED_SIZE__SHIFT = 0
A6XX_SP_CS_CNTL_1_CONSTANTRAMMODE__MASK = 0x00000060
A6XX_SP_CS_CNTL_1_CONSTANTRAMMODE__SHIFT = 5
REG_A6XX_SP_CS_BOOLEAN_CF_MASK = 0x0000a9b2
REG_A6XX_SP_CS_PROGRAM_COUNTER_OFFSET = 0x0000a9b3
REG_A6XX_SP_CS_BASE = 0x0000a9b4
REG_A6XX_SP_CS_PVT_MEM_PARAM = 0x0000a9b6
A6XX_SP_CS_PVT_MEM_PARAM_MEMSIZEPERITEM__MASK = 0x000000ff
A6XX_SP_CS_PVT_MEM_PARAM_MEMSIZEPERITEM__SHIFT = 0
A6XX_SP_CS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__MASK = 0xff000000
A6XX_SP_CS_PVT_MEM_PARAM_HWSTACKSIZEPERTHREAD__SHIFT = 24
REG_A6XX_SP_CS_PVT_MEM_BASE = 0x0000a9b7
REG_A6XX_SP_CS_PVT_MEM_SIZE = 0x0000a9b9
A6XX_SP_CS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__MASK = 0x0003ffff
A6XX_SP_CS_PVT_MEM_SIZE_TOTALPVTMEMSIZE__SHIFT = 0
A6XX_SP_CS_PVT_MEM_SIZE_PERWAVEMEMLAYOUT = 0x80000000
REG_A6XX_SP_CS_TSIZE = 0x0000a9ba
REG_A6XX_SP_CS_CONFIG = 0x0000a9bb
A6XX_SP_CS_CONFIG_BINDLESS_TEX = 0x00000001
A6XX_SP_CS_CONFIG_BINDLESS_SAMP = 0x00000002
A6XX_SP_CS_CONFIG_BINDLESS_UAV = 0x00000004
A6XX_SP_CS_CONFIG_BINDLESS_UBO = 0x00000008
A6XX_SP_CS_CONFIG_ENABLED = 0x00000100
A6XX_SP_CS_CONFIG_NTEX__MASK = 0x0001fe00
A6XX_SP_CS_CONFIG_NTEX__SHIFT = 9
A6XX_SP_CS_CONFIG_NSAMP__MASK = 0x003e0000
A6XX_SP_CS_CONFIG_NSAMP__SHIFT = 17
A6XX_SP_CS_CONFIG_NUAV__MASK = 0x1fc00000
A6XX_SP_CS_CONFIG_NUAV__SHIFT = 22
REG_A6XX_SP_CS_INSTR_SIZE = 0x0000a9bc
REG_A6XX_SP_CS_PVT_MEM_STACK_OFFSET = 0x0000a9bd
A6XX_SP_CS_PVT_MEM_STACK_OFFSET_OFFSET__MASK = 0x0007ffff
A6XX_SP_CS_PVT_MEM_STACK_OFFSET_OFFSET__SHIFT = 0
REG_A7XX_SP_CS_UNKNOWN_A9BE = 0x0000a9be
REG_A7XX_SP_CS_VGS_CNTL = 0x0000a9c5
REG_A6XX_SP_CS_WIE_CNTL_0 = 0x0000a9c2
A6XX_SP_CS_WIE_CNTL_0_WGIDCONSTID__MASK = 0x000000ff
A6XX_SP_CS_WIE_CNTL_0_WGIDCONSTID__SHIFT = 0
A6XX_SP_CS_WIE_CNTL_0_WGSIZECONSTID__MASK = 0x0000ff00
A6XX_SP_CS_WIE_CNTL_0_WGSIZECONSTID__SHIFT = 8
A6XX_SP_CS_WIE_CNTL_0_WGOFFSETCONSTID__MASK = 0x00ff0000
A6XX_SP_CS_WIE_CNTL_0_WGOFFSETCONSTID__SHIFT = 16
A6XX_SP_CS_WIE_CNTL_0_LOCALIDREGID__MASK = 0xff000000
A6XX_SP_CS_WIE_CNTL_0_LOCALIDREGID__SHIFT = 24
REG_A6XX_SP_CS_WIE_CNTL_1 = 0x0000a9c3
A6XX_SP_CS_WIE_CNTL_1_LINEARLOCALIDREGID__MASK = 0x000000ff
A6XX_SP_CS_WIE_CNTL_1_LINEARLOCALIDREGID__SHIFT = 0
A6XX_SP_CS_WIE_CNTL_1_SINGLE_SP_CORE = 0x00000100
A6XX_SP_CS_WIE_CNTL_1_THREADSIZE__MASK = 0x00000200
A6XX_SP_CS_WIE_CNTL_1_THREADSIZE__SHIFT = 9
A6XX_SP_CS_WIE_CNTL_1_THREADSIZE_SCALAR = 0x00000400
REG_A7XX_SP_CS_WIE_CNTL_1 = 0x0000a9c3
A7XX_SP_CS_WIE_CNTL_1_LINEARLOCALIDREGID__MASK = 0x000000ff
A7XX_SP_CS_WIE_CNTL_1_LINEARLOCALIDREGID__SHIFT = 0
A7XX_SP_CS_WIE_CNTL_1_THREADSIZE__MASK = 0x00000100
A7XX_SP_CS_WIE_CNTL_1_THREADSIZE__SHIFT = 8
A7XX_SP_CS_WIE_CNTL_1_THREADSIZE_SCALAR = 0x00000200
A7XX_SP_CS_WIE_CNTL_1_WORKITEMRASTORDER__MASK = 0x00008000
A7XX_SP_CS_WIE_CNTL_1_WORKITEMRASTORDER__SHIFT = 15
REG_A6XX_SP_PS_SAMPLER_BASE = 0x0000a9e0
REG_A6XX_SP_CS_SAMPLER_BASE = 0x0000a9e2
REG_A6XX_SP_PS_TEXMEMOBJ_BASE = 0x0000a9e4
REG_A6XX_SP_CS_TEXMEMOBJ_BASE = 0x0000a9e6
REG_A6XX_SP_CS_BINDLESS_BASE = lambda i0: (0x0000a9e8 + 0x2*i0 ) # type: ignore
A6XX_SP_CS_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__MASK = 0x00000003
A6XX_SP_CS_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__SHIFT = 0
A6XX_SP_CS_BINDLESS_BASE_DESCRIPTOR_ADDR__MASK = 0xfffffffffffffffc
A6XX_SP_CS_BINDLESS_BASE_DESCRIPTOR_ADDR__SHIFT = 2
REG_A7XX_SP_CS_BINDLESS_BASE = lambda i0: (0x0000a9e8 + 0x2*i0 ) # type: ignore
A7XX_SP_CS_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__MASK = 0x00000003
A7XX_SP_CS_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__SHIFT = 0
A7XX_SP_CS_BINDLESS_BASE_DESCRIPTOR_ADDR__MASK = 0xfffffffffffffffc
A7XX_SP_CS_BINDLESS_BASE_DESCRIPTOR_ADDR__SHIFT = 2
REG_A6XX_SP_CS_UAV_BASE = 0x0000a9f2
REG_A7XX_SP_CS_UAV_BASE = 0x0000a9f8
REG_A6XX_SP_CS_USIZE = 0x0000aa00
REG_A7XX_SP_PS_VGS_CNTL = 0x0000aa01
REG_A7XX_SP_PS_OUTPUT_CONST_CNTL = 0x0000aa02
A7XX_SP_PS_OUTPUT_CONST_CNTL_ENABLED = 0x00000001
REG_A7XX_SP_PS_OUTPUT_CONST_MASK = 0x0000aa03
A7XX_SP_PS_OUTPUT_CONST_MASK_RT0__MASK = 0x0000000f
A7XX_SP_PS_OUTPUT_CONST_MASK_RT0__SHIFT = 0
A7XX_SP_PS_OUTPUT_CONST_MASK_RT1__MASK = 0x000000f0
A7XX_SP_PS_OUTPUT_CONST_MASK_RT1__SHIFT = 4
A7XX_SP_PS_OUTPUT_CONST_MASK_RT2__MASK = 0x00000f00
A7XX_SP_PS_OUTPUT_CONST_MASK_RT2__SHIFT = 8
A7XX_SP_PS_OUTPUT_CONST_MASK_RT3__MASK = 0x0000f000
A7XX_SP_PS_OUTPUT_CONST_MASK_RT3__SHIFT = 12
A7XX_SP_PS_OUTPUT_CONST_MASK_RT4__MASK = 0x000f0000
A7XX_SP_PS_OUTPUT_CONST_MASK_RT4__SHIFT = 16
A7XX_SP_PS_OUTPUT_CONST_MASK_RT5__MASK = 0x00f00000
A7XX_SP_PS_OUTPUT_CONST_MASK_RT5__SHIFT = 20
A7XX_SP_PS_OUTPUT_CONST_MASK_RT6__MASK = 0x0f000000
A7XX_SP_PS_OUTPUT_CONST_MASK_RT6__SHIFT = 24
A7XX_SP_PS_OUTPUT_CONST_MASK_RT7__MASK = 0xf0000000
A7XX_SP_PS_OUTPUT_CONST_MASK_RT7__SHIFT = 28
REG_A6XX_SP_UNKNOWN_AAF2 = 0x0000aaf2
REG_A6XX_SP_MODE_CNTL = 0x0000ab00
A6XX_SP_MODE_CNTL_CONSTANT_DEMOTION_ENABLE = 0x00000001
A6XX_SP_MODE_CNTL_ISAMMODE__MASK = 0x00000006
A6XX_SP_MODE_CNTL_ISAMMODE__SHIFT = 1
A6XX_SP_MODE_CNTL_SHARED_CONSTS_ENABLE = 0x00000008
REG_A7XX_SP_UNKNOWN_AB01 = 0x0000ab01
REG_A7XX_SP_UNKNOWN_AB02 = 0x0000ab02
REG_A6XX_SP_PS_CONFIG = 0x0000ab04
A6XX_SP_PS_CONFIG_BINDLESS_TEX = 0x00000001
A6XX_SP_PS_CONFIG_BINDLESS_SAMP = 0x00000002
A6XX_SP_PS_CONFIG_BINDLESS_UAV = 0x00000004
A6XX_SP_PS_CONFIG_BINDLESS_UBO = 0x00000008
A6XX_SP_PS_CONFIG_ENABLED = 0x00000100
A6XX_SP_PS_CONFIG_NTEX__MASK = 0x0001fe00
A6XX_SP_PS_CONFIG_NTEX__SHIFT = 9
A6XX_SP_PS_CONFIG_NSAMP__MASK = 0x003e0000
A6XX_SP_PS_CONFIG_NSAMP__SHIFT = 17
A6XX_SP_PS_CONFIG_NUAV__MASK = 0x1fc00000
A6XX_SP_PS_CONFIG_NUAV__SHIFT = 22
REG_A6XX_SP_PS_INSTR_SIZE = 0x0000ab05
REG_A6XX_SP_GFX_BINDLESS_BASE = lambda i0: (0x0000ab10 + 0x2*i0 ) # type: ignore
A6XX_SP_GFX_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__MASK = 0x00000003
A6XX_SP_GFX_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__SHIFT = 0
A6XX_SP_GFX_BINDLESS_BASE_DESCRIPTOR_ADDR__MASK = 0xfffffffffffffffc
A6XX_SP_GFX_BINDLESS_BASE_DESCRIPTOR_ADDR__SHIFT = 2
REG_A7XX_SP_GFX_BINDLESS_BASE = lambda i0: (0x0000ab0a + 0x2*i0 ) # type: ignore
A7XX_SP_GFX_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__MASK = 0x00000003
A7XX_SP_GFX_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__SHIFT = 0
A7XX_SP_GFX_BINDLESS_BASE_DESCRIPTOR_ADDR__MASK = 0xfffffffffffffffc
A7XX_SP_GFX_BINDLESS_BASE_DESCRIPTOR_ADDR__SHIFT = 2
REG_A6XX_SP_GFX_UAV_BASE = 0x0000ab1a
REG_A6XX_SP_GFX_USIZE = 0x0000ab20
REG_A7XX_SP_UNKNOWN_AB22 = 0x0000ab22
REG_A6XX_SP_A2D_OUTPUT_INFO = 0x0000acc0
A6XX_SP_A2D_OUTPUT_INFO_HALF_PRECISION = 0x00000001
A6XX_SP_A2D_OUTPUT_INFO_IFMT_TYPE__MASK = 0x00000006
A6XX_SP_A2D_OUTPUT_INFO_IFMT_TYPE__SHIFT = 1
A6XX_SP_A2D_OUTPUT_INFO_COLOR_FORMAT__MASK = 0x000007f8
A6XX_SP_A2D_OUTPUT_INFO_COLOR_FORMAT__SHIFT = 3
A6XX_SP_A2D_OUTPUT_INFO_SRGB = 0x00000800
A6XX_SP_A2D_OUTPUT_INFO_MASK__MASK = 0x0000f000
A6XX_SP_A2D_OUTPUT_INFO_MASK__SHIFT = 12
REG_A7XX_SP_A2D_OUTPUT_INFO = 0x0000a9bf
A7XX_SP_A2D_OUTPUT_INFO_HALF_PRECISION = 0x00000001
A7XX_SP_A2D_OUTPUT_INFO_IFMT_TYPE__MASK = 0x00000006
A7XX_SP_A2D_OUTPUT_INFO_IFMT_TYPE__SHIFT = 1
A7XX_SP_A2D_OUTPUT_INFO_COLOR_FORMAT__MASK = 0x000007f8
A7XX_SP_A2D_OUTPUT_INFO_COLOR_FORMAT__SHIFT = 3
A7XX_SP_A2D_OUTPUT_INFO_SRGB = 0x00000800
A7XX_SP_A2D_OUTPUT_INFO_MASK__MASK = 0x0000f000
A7XX_SP_A2D_OUTPUT_INFO_MASK__SHIFT = 12
REG_A6XX_SP_DBG_ECO_CNTL = 0x0000ae00
REG_A6XX_SP_ADDR_MODE_CNTL = 0x0000ae01
REG_A6XX_SP_NC_MODE_CNTL = 0x0000ae02
REG_A6XX_SP_CHICKEN_BITS = 0x0000ae03
REG_A6XX_SP_NC_MODE_CNTL_2 = 0x0000ae04
A6XX_SP_NC_MODE_CNTL_2_F16_NO_INF = 0x00000008
REG_A7XX_SP_UNKNOWN_AE06 = 0x0000ae06
REG_A7XX_SP_CHICKEN_BITS_1 = 0x0000ae08
REG_A7XX_SP_CHICKEN_BITS_2 = 0x0000ae09
REG_A7XX_SP_CHICKEN_BITS_3 = 0x0000ae0a
REG_A6XX_SP_PERFCTR_SHADER_MASK = 0x0000ae0f
A6XX_SP_PERFCTR_SHADER_MASK_VS = 0x00000001
A6XX_SP_PERFCTR_SHADER_MASK_HS = 0x00000002
A6XX_SP_PERFCTR_SHADER_MASK_DS = 0x00000004
A6XX_SP_PERFCTR_SHADER_MASK_GS = 0x00000008
A6XX_SP_PERFCTR_SHADER_MASK_FS = 0x00000010
A6XX_SP_PERFCTR_SHADER_MASK_CS = 0x00000020
REG_A6XX_SP_PERFCTR_SP_SEL = lambda i0: (0x0000ae10 + 0x1*i0 ) # type: ignore
REG_A7XX_SP_PERFCTR_HLSQ_SEL = lambda i0: (0x0000ae60 + 0x1*i0 ) # type: ignore
REG_A7XX_SP_UNKNOWN_AE6A = 0x0000ae6a
REG_A7XX_SP_UNKNOWN_AE6B = 0x0000ae6b
REG_A7XX_SP_HLSQ_DBG_ECO_CNTL = 0x0000ae6c
REG_A7XX_SP_READ_SEL = 0x0000ae6d
A7XX_SP_READ_SEL_LOCATION__MASK = 0x000c0000
A7XX_SP_READ_SEL_LOCATION__SHIFT = 18
A7XX_SP_READ_SEL_PIPE__MASK = 0x00030000
A7XX_SP_READ_SEL_PIPE__SHIFT = 16
A7XX_SP_READ_SEL_STATETYPE__MASK = 0x0000ff00
A7XX_SP_READ_SEL_STATETYPE__SHIFT = 8
A7XX_SP_READ_SEL_USPTP__MASK = 0x000000f0
A7XX_SP_READ_SEL_USPTP__SHIFT = 4
A7XX_SP_READ_SEL_SPTP__MASK = 0x0000000f
A7XX_SP_READ_SEL_SPTP__SHIFT = 0
REG_A7XX_SP_DBG_CNTL = 0x0000ae71
REG_A7XX_SP_UNKNOWN_AE73 = 0x0000ae73
REG_A7XX_SP_PERFCTR_SP_SEL = lambda i0: (0x0000ae80 + 0x1*i0 ) # type: ignore
REG_A6XX_SP_CONTEXT_SWITCH_GFX_PREEMPTION_SAFE_MODE = 0x0000be22
REG_A6XX_TPL1_CS_BORDER_COLOR_BASE = 0x0000b180
REG_A6XX_SP_UNKNOWN_B182 = 0x0000b182
REG_A6XX_SP_UNKNOWN_B183 = 0x0000b183
REG_A6XX_SP_UNKNOWN_B190 = 0x0000b190
REG_A6XX_SP_UNKNOWN_B191 = 0x0000b191
REG_A6XX_TPL1_RAS_MSAA_CNTL = 0x0000b300
A6XX_TPL1_RAS_MSAA_CNTL_SAMPLES__MASK = 0x00000003
A6XX_TPL1_RAS_MSAA_CNTL_SAMPLES__SHIFT = 0
A6XX_TPL1_RAS_MSAA_CNTL_UNK2__MASK = 0x0000000c
A6XX_TPL1_RAS_MSAA_CNTL_UNK2__SHIFT = 2
REG_A6XX_TPL1_DEST_MSAA_CNTL = 0x0000b301
A6XX_TPL1_DEST_MSAA_CNTL_SAMPLES__MASK = 0x00000003
A6XX_TPL1_DEST_MSAA_CNTL_SAMPLES__SHIFT = 0
A6XX_TPL1_DEST_MSAA_CNTL_MSAA_DISABLE = 0x00000004
REG_A6XX_TPL1_GFX_BORDER_COLOR_BASE = 0x0000b302
REG_A6XX_TPL1_MSAA_SAMPLE_POS_CNTL = 0x0000b304
A6XX_TPL1_MSAA_SAMPLE_POS_CNTL_UNK0 = 0x00000001
A6XX_TPL1_MSAA_SAMPLE_POS_CNTL_LOCATION_ENABLE = 0x00000002
REG_A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0 = 0x0000b305
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_X__MASK = 0x0000000f
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_X__SHIFT = 0
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_Y__MASK = 0x000000f0
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_0_Y__SHIFT = 4
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_X__MASK = 0x00000f00
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_X__SHIFT = 8
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_Y__MASK = 0x0000f000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_1_Y__SHIFT = 12
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_X__MASK = 0x000f0000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_X__SHIFT = 16
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_Y__MASK = 0x00f00000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_2_Y__SHIFT = 20
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_X__MASK = 0x0f000000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_X__SHIFT = 24
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_Y__MASK = 0xf0000000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_0_SAMPLE_3_Y__SHIFT = 28
REG_A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1 = 0x0000b306
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_X__MASK = 0x0000000f
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_X__SHIFT = 0
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_Y__MASK = 0x000000f0
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_0_Y__SHIFT = 4
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_X__MASK = 0x00000f00
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_X__SHIFT = 8
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_Y__MASK = 0x0000f000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_1_Y__SHIFT = 12
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_X__MASK = 0x000f0000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_X__SHIFT = 16
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_Y__MASK = 0x00f00000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_2_Y__SHIFT = 20
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_X__MASK = 0x0f000000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_X__SHIFT = 24
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_Y__MASK = 0xf0000000
A6XX_TPL1_PROGRAMMABLE_MSAA_POS_1_SAMPLE_3_Y__SHIFT = 28
REG_A6XX_TPL1_WINDOW_OFFSET = 0x0000b307
A6XX_TPL1_WINDOW_OFFSET_X__MASK = 0x00003fff
A6XX_TPL1_WINDOW_OFFSET_X__SHIFT = 0
A6XX_TPL1_WINDOW_OFFSET_Y__MASK = 0x3fff0000
A6XX_TPL1_WINDOW_OFFSET_Y__SHIFT = 16
REG_A6XX_TPL1_MODE_CNTL = 0x0000b309
A6XX_TPL1_MODE_CNTL_ISAMMODE__MASK = 0x00000003
A6XX_TPL1_MODE_CNTL_ISAMMODE__SHIFT = 0
A6XX_TPL1_MODE_CNTL_TEXCOORDROUNDMODE__MASK = 0x00000004
A6XX_TPL1_MODE_CNTL_TEXCOORDROUNDMODE__SHIFT = 2
A6XX_TPL1_MODE_CNTL_NEARESTMIPSNAP__MASK = 0x00000020
A6XX_TPL1_MODE_CNTL_NEARESTMIPSNAP__SHIFT = 5
A6XX_TPL1_MODE_CNTL_DESTDATATYPEOVERRIDE = 0x00000080
REG_A7XX_SP_UNKNOWN_B310 = 0x0000b310
REG_A6XX_TPL1_A2D_SRC_TEXTURE_INFO = 0x0000b4c0
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_COLOR_FORMAT__MASK = 0x000000ff
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_COLOR_FORMAT__SHIFT = 0
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_TILE_MODE__MASK = 0x00000300
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_TILE_MODE__SHIFT = 8
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_COLOR_SWAP__MASK = 0x00000c00
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_COLOR_SWAP__SHIFT = 10
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_FLAGS = 0x00001000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_SRGB = 0x00002000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_SAMPLES__MASK = 0x0000c000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_SAMPLES__SHIFT = 14
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_FILTER = 0x00010000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK17 = 0x00020000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_SAMPLES_AVERAGE = 0x00040000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK19 = 0x00080000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK20 = 0x00100000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK21 = 0x00200000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK22 = 0x00400000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK23__MASK = 0x07800000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK23__SHIFT = 23
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK28 = 0x10000000
A6XX_TPL1_A2D_SRC_TEXTURE_INFO_MUTABLEEN = 0x20000000
REG_A6XX_TPL1_A2D_SRC_TEXTURE_SIZE = 0x0000b4c1
A6XX_TPL1_A2D_SRC_TEXTURE_SIZE_WIDTH__MASK = 0x00007fff
A6XX_TPL1_A2D_SRC_TEXTURE_SIZE_WIDTH__SHIFT = 0
A6XX_TPL1_A2D_SRC_TEXTURE_SIZE_HEIGHT__MASK = 0x3fff8000
A6XX_TPL1_A2D_SRC_TEXTURE_SIZE_HEIGHT__SHIFT = 15
REG_A6XX_TPL1_A2D_SRC_TEXTURE_BASE = 0x0000b4c2
REG_A6XX_TPL1_A2D_SRC_TEXTURE_PITCH = 0x0000b4c4
A6XX_TPL1_A2D_SRC_TEXTURE_PITCH_UNK0__MASK = 0x000001ff
A6XX_TPL1_A2D_SRC_TEXTURE_PITCH_UNK0__SHIFT = 0
A6XX_TPL1_A2D_SRC_TEXTURE_PITCH_PITCH__MASK = 0x00fffe00
A6XX_TPL1_A2D_SRC_TEXTURE_PITCH_PITCH__SHIFT = 9
REG_A7XX_TPL1_A2D_SRC_TEXTURE_INFO = 0x0000b2c0
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_COLOR_FORMAT__MASK = 0x000000ff
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_COLOR_FORMAT__SHIFT = 0
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_TILE_MODE__MASK = 0x00000300
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_TILE_MODE__SHIFT = 8
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_COLOR_SWAP__MASK = 0x00000c00
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_COLOR_SWAP__SHIFT = 10
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_FLAGS = 0x00001000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_SRGB = 0x00002000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_SAMPLES__MASK = 0x0000c000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_SAMPLES__SHIFT = 14
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_FILTER = 0x00010000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK17 = 0x00020000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_SAMPLES_AVERAGE = 0x00040000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK19 = 0x00080000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK20 = 0x00100000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK21 = 0x00200000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK22 = 0x00400000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK23__MASK = 0x07800000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK23__SHIFT = 23
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_UNK28 = 0x10000000
A7XX_TPL1_A2D_SRC_TEXTURE_INFO_MUTABLEEN = 0x20000000
REG_A7XX_TPL1_A2D_SRC_TEXTURE_SIZE = 0x0000b2c1
A7XX_TPL1_A2D_SRC_TEXTURE_SIZE_WIDTH__MASK = 0x00007fff
A7XX_TPL1_A2D_SRC_TEXTURE_SIZE_WIDTH__SHIFT = 0
A7XX_TPL1_A2D_SRC_TEXTURE_SIZE_HEIGHT__MASK = 0x3fff8000
A7XX_TPL1_A2D_SRC_TEXTURE_SIZE_HEIGHT__SHIFT = 15
REG_A7XX_TPL1_A2D_SRC_TEXTURE_BASE = 0x0000b2c2
REG_A7XX_TPL1_A2D_SRC_TEXTURE_PITCH = 0x0000b2c4
A7XX_TPL1_A2D_SRC_TEXTURE_PITCH_PITCH__MASK = 0x00fffff8
A7XX_TPL1_A2D_SRC_TEXTURE_PITCH_PITCH__SHIFT = 3
REG_A6XX_TPL1_A2D_SRC_TEXTURE_BASE_1 = 0x0000b4c5
REG_A6XX_TPL1_A2D_SRC_TEXTURE_PITCH_1 = 0x0000b4c7
A6XX_TPL1_A2D_SRC_TEXTURE_PITCH_1__MASK = 0x00000fff
A6XX_TPL1_A2D_SRC_TEXTURE_PITCH_1__SHIFT = 0
REG_A6XX_TPL1_A2D_SRC_TEXTURE_BASE_2 = 0x0000b4c8
REG_A7XX_TPL1_A2D_SRC_TEXTURE_BASE_1 = 0x0000b2c5
REG_A7XX_TPL1_A2D_SRC_TEXTURE_PITCH_1 = 0x0000b2c7
A7XX_TPL1_A2D_SRC_TEXTURE_PITCH_1__MASK = 0x00000fff
A7XX_TPL1_A2D_SRC_TEXTURE_PITCH_1__SHIFT = 0
REG_A7XX_TPL1_A2D_SRC_TEXTURE_BASE_2 = 0x0000b2c8
REG_A6XX_TPL1_A2D_SRC_TEXTURE_FLAG_BASE = 0x0000b4ca
REG_A6XX_TPL1_A2D_SRC_TEXTURE_FLAG_PITCH = 0x0000b4cc
A6XX_TPL1_A2D_SRC_TEXTURE_FLAG_PITCH__MASK = 0x000000ff
A6XX_TPL1_A2D_SRC_TEXTURE_FLAG_PITCH__SHIFT = 0
REG_A7XX_TPL1_A2D_SRC_TEXTURE_FLAG_BASE = 0x0000b2ca
REG_A7XX_TPL1_A2D_SRC_TEXTURE_FLAG_PITCH = 0x0000b2cc
A7XX_TPL1_A2D_SRC_TEXTURE_FLAG_PITCH__MASK = 0x000000ff
A7XX_TPL1_A2D_SRC_TEXTURE_FLAG_PITCH__SHIFT = 0
REG_A6XX_SP_PS_UNKNOWN_B4CD = 0x0000b4cd
REG_A6XX_SP_PS_UNKNOWN_B4CE = 0x0000b4ce
REG_A6XX_SP_PS_UNKNOWN_B4CF = 0x0000b4cf
REG_A6XX_SP_PS_UNKNOWN_B4D0 = 0x0000b4d0
REG_A6XX_SP_WINDOW_OFFSET = 0x0000b4d1
A6XX_SP_WINDOW_OFFSET_X__MASK = 0x00003fff
A6XX_SP_WINDOW_OFFSET_X__SHIFT = 0
A6XX_SP_WINDOW_OFFSET_Y__MASK = 0x3fff0000
A6XX_SP_WINDOW_OFFSET_Y__SHIFT = 16
REG_A7XX_SP_PS_UNKNOWN_B4CD = 0x0000b2cd
REG_A7XX_SP_PS_UNKNOWN_B4CE = 0x0000b2ce
REG_A7XX_SP_PS_UNKNOWN_B4CF = 0x0000b2cf
REG_A7XX_SP_PS_UNKNOWN_B4D0 = 0x0000b2d0
REG_A7XX_TPL1_A2D_WINDOW_OFFSET = 0x0000b2d1
A7XX_TPL1_A2D_WINDOW_OFFSET_X__MASK = 0x00003fff
A7XX_TPL1_A2D_WINDOW_OFFSET_X__SHIFT = 0
A7XX_TPL1_A2D_WINDOW_OFFSET_Y__MASK = 0x3fff0000
A7XX_TPL1_A2D_WINDOW_OFFSET_Y__SHIFT = 16
REG_A7XX_TPL1_A2D_BLT_CNTL = 0x0000b2d2
A7XX_TPL1_A2D_BLT_CNTL_RAW_COPY = 0x00000001
A7XX_TPL1_A2D_BLT_CNTL_START_OFFSET_TEXELS__MASK = 0x003f0000
A7XX_TPL1_A2D_BLT_CNTL_START_OFFSET_TEXELS__SHIFT = 16
A7XX_TPL1_A2D_BLT_CNTL_TYPE__MASK = 0xe0000000
A7XX_TPL1_A2D_BLT_CNTL_TYPE__SHIFT = 29
REG_A7XX_SP_WINDOW_OFFSET = 0x0000ab21
A7XX_SP_WINDOW_OFFSET_X__MASK = 0x00003fff
A7XX_SP_WINDOW_OFFSET_X__SHIFT = 0
A7XX_SP_WINDOW_OFFSET_Y__MASK = 0x3fff0000
A7XX_SP_WINDOW_OFFSET_Y__SHIFT = 16
REG_A6XX_TPL1_DBG_ECO_CNTL = 0x0000b600
REG_A6XX_TPL1_ADDR_MODE_CNTL = 0x0000b601
REG_A6XX_TPL1_DBG_ECO_CNTL1 = 0x0000b602
A6XX_TPL1_DBG_ECO_CNTL1_TP_UBWC_FLAG_HINT = 0x00040000
REG_A6XX_TPL1_NC_MODE_CNTL = 0x0000b604
A6XX_TPL1_NC_MODE_CNTL_MODE = 0x00000001
A6XX_TPL1_NC_MODE_CNTL_LOWER_BIT__MASK = 0x00000006
A6XX_TPL1_NC_MODE_CNTL_LOWER_BIT__SHIFT = 1
A6XX_TPL1_NC_MODE_CNTL_MIN_ACCESS_LENGTH = 0x00000008
A6XX_TPL1_NC_MODE_CNTL_UPPER_BIT__MASK = 0x00000010
A6XX_TPL1_NC_MODE_CNTL_UPPER_BIT__SHIFT = 4
A6XX_TPL1_NC_MODE_CNTL_UNK6__MASK = 0x000000c0
A6XX_TPL1_NC_MODE_CNTL_UNK6__SHIFT = 6
REG_A6XX_TPL1_UNKNOWN_B605 = 0x0000b605
REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_0 = 0x0000b608
REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_1 = 0x0000b609
REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_2 = 0x0000b60a
REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_3 = 0x0000b60b
REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_4 = 0x0000b60c
REG_A7XX_TPL1_BICUBIC_WEIGHTS_TABLE_0 = 0x0000b608
REG_A7XX_TPL1_BICUBIC_WEIGHTS_TABLE_1 = 0x0000b609
REG_A7XX_TPL1_BICUBIC_WEIGHTS_TABLE_2 = 0x0000b60a
REG_A7XX_TPL1_BICUBIC_WEIGHTS_TABLE_3 = 0x0000b60b
REG_A7XX_TPL1_BICUBIC_WEIGHTS_TABLE_4 = 0x0000b60c
REG_A6XX_TPL1_PERFCTR_TP_SEL = lambda i0: (0x0000b610 + 0x1*i0 ) # type: ignore
REG_A7XX_TPL1_PERFCTR_TP_SEL = lambda i0: (0x0000b610 + 0x1*i0 ) # type: ignore
REG_A6XX_SP_VS_CONST_CONFIG = 0x0000b800
A6XX_SP_VS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A6XX_SP_VS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A6XX_SP_VS_CONST_CONFIG_ENABLED = 0x00000100
A6XX_SP_VS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A6XX_SP_HS_CONST_CONFIG = 0x0000b801
A6XX_SP_HS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A6XX_SP_HS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A6XX_SP_HS_CONST_CONFIG_ENABLED = 0x00000100
A6XX_SP_HS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A6XX_SP_DS_CONST_CONFIG = 0x0000b802
A6XX_SP_DS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A6XX_SP_DS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A6XX_SP_DS_CONST_CONFIG_ENABLED = 0x00000100
A6XX_SP_DS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A6XX_SP_GS_CONST_CONFIG = 0x0000b803
A6XX_SP_GS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A6XX_SP_GS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A6XX_SP_GS_CONST_CONFIG_ENABLED = 0x00000100
A6XX_SP_GS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A7XX_SP_VS_CONST_CONFIG = 0x0000a827
A7XX_SP_VS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A7XX_SP_VS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A7XX_SP_VS_CONST_CONFIG_ENABLED = 0x00000100
A7XX_SP_VS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A7XX_SP_HS_CONST_CONFIG = 0x0000a83f
A7XX_SP_HS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A7XX_SP_HS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A7XX_SP_HS_CONST_CONFIG_ENABLED = 0x00000100
A7XX_SP_HS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A7XX_SP_DS_CONST_CONFIG = 0x0000a867
A7XX_SP_DS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A7XX_SP_DS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A7XX_SP_DS_CONST_CONFIG_ENABLED = 0x00000100
A7XX_SP_DS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A7XX_SP_GS_CONST_CONFIG = 0x0000a898
A7XX_SP_GS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A7XX_SP_GS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A7XX_SP_GS_CONST_CONFIG_ENABLED = 0x00000100
A7XX_SP_GS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A7XX_SP_RENDER_CNTL = 0x0000a9aa
A7XX_SP_RENDER_CNTL_FS_DISABLE = 0x00000001
REG_A7XX_SP_DITHER_CNTL = 0x0000a9ac
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT0__MASK = 0x00000003
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT0__SHIFT = 0
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT1__MASK = 0x0000000c
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT1__SHIFT = 2
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT2__MASK = 0x00000030
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT2__SHIFT = 4
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT3__MASK = 0x000000c0
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT3__SHIFT = 6
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT4__MASK = 0x00000300
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT4__SHIFT = 8
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT5__MASK = 0x00000c00
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT5__SHIFT = 10
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT6__MASK = 0x00003000
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT6__SHIFT = 12
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT7__MASK = 0x0000c000
A7XX_SP_DITHER_CNTL_DITHER_MODE_MRT7__SHIFT = 14
REG_A7XX_SP_VRS_CONFIG = 0x0000a9ad
A7XX_SP_VRS_CONFIG_PIPELINE_FSR_ENABLE = 0x00000001
A7XX_SP_VRS_CONFIG_ATTACHMENT_FSR_ENABLE = 0x00000002
A7XX_SP_VRS_CONFIG_PRIMITIVE_FSR_ENABLE = 0x00000008
REG_A7XX_SP_PS_CNTL_1 = 0x0000a9ae
A7XX_SP_PS_CNTL_1_SYSVAL_REGS_COUNT__MASK = 0x000000ff
A7XX_SP_PS_CNTL_1_SYSVAL_REGS_COUNT__SHIFT = 0
A7XX_SP_PS_CNTL_1_UNK8 = 0x00000100
A7XX_SP_PS_CNTL_1_UNK9 = 0x00000200
REG_A6XX_HLSQ_LOAD_STATE_GEOM_CMD = 0x0000b820
REG_A6XX_HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR = 0x0000b821
REG_A6XX_HLSQ_LOAD_STATE_GEOM_DATA = 0x0000b823
REG_A6XX_SP_PS_WAVE_CNTL = 0x0000b980
A6XX_SP_PS_WAVE_CNTL_THREADSIZE__MASK = 0x00000001
A6XX_SP_PS_WAVE_CNTL_THREADSIZE__SHIFT = 0
A6XX_SP_PS_WAVE_CNTL_VARYINGS = 0x00000002
A6XX_SP_PS_WAVE_CNTL_UNK2__MASK = 0x00000ffc
A6XX_SP_PS_WAVE_CNTL_UNK2__SHIFT = 2
REG_A6XX_HLSQ_UNKNOWN_B981 = 0x0000b981
REG_A6XX_SP_LB_PARAM_LIMIT = 0x0000b982
A6XX_SP_LB_PARAM_LIMIT_PRIMALLOCTHRESHOLD__MASK = 0x00000007
A6XX_SP_LB_PARAM_LIMIT_PRIMALLOCTHRESHOLD__SHIFT = 0
REG_A6XX_SP_REG_PROG_ID_0 = 0x0000b983
A6XX_SP_REG_PROG_ID_0_FACEREGID__MASK = 0x000000ff
A6XX_SP_REG_PROG_ID_0_FACEREGID__SHIFT = 0
A6XX_SP_REG_PROG_ID_0_SAMPLEID__MASK = 0x0000ff00
A6XX_SP_REG_PROG_ID_0_SAMPLEID__SHIFT = 8
A6XX_SP_REG_PROG_ID_0_SAMPLEMASK__MASK = 0x00ff0000
A6XX_SP_REG_PROG_ID_0_SAMPLEMASK__SHIFT = 16
A6XX_SP_REG_PROG_ID_0_CENTERRHW__MASK = 0xff000000
A6XX_SP_REG_PROG_ID_0_CENTERRHW__SHIFT = 24
REG_A6XX_SP_REG_PROG_ID_1 = 0x0000b984
A6XX_SP_REG_PROG_ID_1_IJ_PERSP_PIXEL__MASK = 0x000000ff
A6XX_SP_REG_PROG_ID_1_IJ_PERSP_PIXEL__SHIFT = 0
A6XX_SP_REG_PROG_ID_1_IJ_LINEAR_PIXEL__MASK = 0x0000ff00
A6XX_SP_REG_PROG_ID_1_IJ_LINEAR_PIXEL__SHIFT = 8
A6XX_SP_REG_PROG_ID_1_IJ_PERSP_CENTROID__MASK = 0x00ff0000
A6XX_SP_REG_PROG_ID_1_IJ_PERSP_CENTROID__SHIFT = 16
A6XX_SP_REG_PROG_ID_1_IJ_LINEAR_CENTROID__MASK = 0xff000000
A6XX_SP_REG_PROG_ID_1_IJ_LINEAR_CENTROID__SHIFT = 24
REG_A6XX_SP_REG_PROG_ID_2 = 0x0000b985
A6XX_SP_REG_PROG_ID_2_IJ_PERSP_SAMPLE__MASK = 0x000000ff
A6XX_SP_REG_PROG_ID_2_IJ_PERSP_SAMPLE__SHIFT = 0
A6XX_SP_REG_PROG_ID_2_IJ_LINEAR_SAMPLE__MASK = 0x0000ff00
A6XX_SP_REG_PROG_ID_2_IJ_LINEAR_SAMPLE__SHIFT = 8
A6XX_SP_REG_PROG_ID_2_XYCOORDREGID__MASK = 0x00ff0000
A6XX_SP_REG_PROG_ID_2_XYCOORDREGID__SHIFT = 16
A6XX_SP_REG_PROG_ID_2_ZWCOORDREGID__MASK = 0xff000000
A6XX_SP_REG_PROG_ID_2_ZWCOORDREGID__SHIFT = 24
REG_A6XX_SP_REG_PROG_ID_3 = 0x0000b986
A6XX_SP_REG_PROG_ID_3_LINELENGTHREGID__MASK = 0x000000ff
A6XX_SP_REG_PROG_ID_3_LINELENGTHREGID__SHIFT = 0
A6XX_SP_REG_PROG_ID_3_FOVEATIONQUALITYREGID__MASK = 0x0000ff00
A6XX_SP_REG_PROG_ID_3_FOVEATIONQUALITYREGID__SHIFT = 8
REG_A6XX_SP_CS_CONST_CONFIG = 0x0000b987
A6XX_SP_CS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A6XX_SP_CS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A6XX_SP_CS_CONST_CONFIG_ENABLED = 0x00000100
A6XX_SP_CS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A7XX_SP_PS_WAVE_CNTL = 0x0000a9c6
A7XX_SP_PS_WAVE_CNTL_THREADSIZE__MASK = 0x00000001
A7XX_SP_PS_WAVE_CNTL_THREADSIZE__SHIFT = 0
A7XX_SP_PS_WAVE_CNTL_VARYINGS = 0x00000002
A7XX_SP_PS_WAVE_CNTL_UNK2__MASK = 0x00000ffc
A7XX_SP_PS_WAVE_CNTL_UNK2__SHIFT = 2
REG_A7XX_SP_LB_PARAM_LIMIT = 0x0000a9c7
A7XX_SP_LB_PARAM_LIMIT_PRIMALLOCTHRESHOLD__MASK = 0x00000007
A7XX_SP_LB_PARAM_LIMIT_PRIMALLOCTHRESHOLD__SHIFT = 0
REG_A7XX_SP_REG_PROG_ID_0 = 0x0000a9c8
A7XX_SP_REG_PROG_ID_0_FACEREGID__MASK = 0x000000ff
A7XX_SP_REG_PROG_ID_0_FACEREGID__SHIFT = 0
A7XX_SP_REG_PROG_ID_0_SAMPLEID__MASK = 0x0000ff00
A7XX_SP_REG_PROG_ID_0_SAMPLEID__SHIFT = 8
A7XX_SP_REG_PROG_ID_0_SAMPLEMASK__MASK = 0x00ff0000
A7XX_SP_REG_PROG_ID_0_SAMPLEMASK__SHIFT = 16
A7XX_SP_REG_PROG_ID_0_CENTERRHW__MASK = 0xff000000
A7XX_SP_REG_PROG_ID_0_CENTERRHW__SHIFT = 24
REG_A7XX_SP_REG_PROG_ID_1 = 0x0000a9c9
A7XX_SP_REG_PROG_ID_1_IJ_PERSP_PIXEL__MASK = 0x000000ff
A7XX_SP_REG_PROG_ID_1_IJ_PERSP_PIXEL__SHIFT = 0
A7XX_SP_REG_PROG_ID_1_IJ_LINEAR_PIXEL__MASK = 0x0000ff00
A7XX_SP_REG_PROG_ID_1_IJ_LINEAR_PIXEL__SHIFT = 8
A7XX_SP_REG_PROG_ID_1_IJ_PERSP_CENTROID__MASK = 0x00ff0000
A7XX_SP_REG_PROG_ID_1_IJ_PERSP_CENTROID__SHIFT = 16
A7XX_SP_REG_PROG_ID_1_IJ_LINEAR_CENTROID__MASK = 0xff000000
A7XX_SP_REG_PROG_ID_1_IJ_LINEAR_CENTROID__SHIFT = 24
REG_A7XX_SP_REG_PROG_ID_2 = 0x0000a9ca
A7XX_SP_REG_PROG_ID_2_IJ_PERSP_SAMPLE__MASK = 0x000000ff
A7XX_SP_REG_PROG_ID_2_IJ_PERSP_SAMPLE__SHIFT = 0
A7XX_SP_REG_PROG_ID_2_IJ_LINEAR_SAMPLE__MASK = 0x0000ff00
A7XX_SP_REG_PROG_ID_2_IJ_LINEAR_SAMPLE__SHIFT = 8
A7XX_SP_REG_PROG_ID_2_XYCOORDREGID__MASK = 0x00ff0000
A7XX_SP_REG_PROG_ID_2_XYCOORDREGID__SHIFT = 16
A7XX_SP_REG_PROG_ID_2_ZWCOORDREGID__MASK = 0xff000000
A7XX_SP_REG_PROG_ID_2_ZWCOORDREGID__SHIFT = 24
REG_A7XX_SP_REG_PROG_ID_3 = 0x0000a9cb
A7XX_SP_REG_PROG_ID_3_LINELENGTHREGID__MASK = 0x000000ff
A7XX_SP_REG_PROG_ID_3_LINELENGTHREGID__SHIFT = 0
A7XX_SP_REG_PROG_ID_3_FOVEATIONQUALITYREGID__MASK = 0x0000ff00
A7XX_SP_REG_PROG_ID_3_FOVEATIONQUALITYREGID__SHIFT = 8
REG_A7XX_SP_CS_CONST_CONFIG = 0x0000a9cd
A7XX_SP_CS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A7XX_SP_CS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A7XX_SP_CS_CONST_CONFIG_ENABLED = 0x00000100
A7XX_SP_CS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A6XX_SP_CS_NDRANGE_0 = 0x0000b990
A6XX_SP_CS_NDRANGE_0_KERNELDIM__MASK = 0x00000003
A6XX_SP_CS_NDRANGE_0_KERNELDIM__SHIFT = 0
A6XX_SP_CS_NDRANGE_0_LOCALSIZEX__MASK = 0x00000ffc
A6XX_SP_CS_NDRANGE_0_LOCALSIZEX__SHIFT = 2
A6XX_SP_CS_NDRANGE_0_LOCALSIZEY__MASK = 0x003ff000
A6XX_SP_CS_NDRANGE_0_LOCALSIZEY__SHIFT = 12
A6XX_SP_CS_NDRANGE_0_LOCALSIZEZ__MASK = 0xffc00000
A6XX_SP_CS_NDRANGE_0_LOCALSIZEZ__SHIFT = 22
REG_A6XX_SP_CS_NDRANGE_1 = 0x0000b991
A6XX_SP_CS_NDRANGE_1_GLOBALSIZE_X__MASK = 0xffffffff
A6XX_SP_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT = 0
REG_A6XX_SP_CS_NDRANGE_2 = 0x0000b992
A6XX_SP_CS_NDRANGE_2_GLOBALOFF_X__MASK = 0xffffffff
A6XX_SP_CS_NDRANGE_2_GLOBALOFF_X__SHIFT = 0
REG_A6XX_SP_CS_NDRANGE_3 = 0x0000b993
A6XX_SP_CS_NDRANGE_3_GLOBALSIZE_Y__MASK = 0xffffffff
A6XX_SP_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT = 0
REG_A6XX_SP_CS_NDRANGE_4 = 0x0000b994
A6XX_SP_CS_NDRANGE_4_GLOBALOFF_Y__MASK = 0xffffffff
A6XX_SP_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT = 0
REG_A6XX_SP_CS_NDRANGE_5 = 0x0000b995
A6XX_SP_CS_NDRANGE_5_GLOBALSIZE_Z__MASK = 0xffffffff
A6XX_SP_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT = 0
REG_A6XX_SP_CS_NDRANGE_6 = 0x0000b996
A6XX_SP_CS_NDRANGE_6_GLOBALOFF_Z__MASK = 0xffffffff
A6XX_SP_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT = 0
REG_A6XX_SP_CS_CONST_CONFIG_0 = 0x0000b997
A6XX_SP_CS_CONST_CONFIG_0_WGIDCONSTID__MASK = 0x000000ff
A6XX_SP_CS_CONST_CONFIG_0_WGIDCONSTID__SHIFT = 0
A6XX_SP_CS_CONST_CONFIG_0_WGSIZECONSTID__MASK = 0x0000ff00
A6XX_SP_CS_CONST_CONFIG_0_WGSIZECONSTID__SHIFT = 8
A6XX_SP_CS_CONST_CONFIG_0_WGOFFSETCONSTID__MASK = 0x00ff0000
A6XX_SP_CS_CONST_CONFIG_0_WGOFFSETCONSTID__SHIFT = 16
A6XX_SP_CS_CONST_CONFIG_0_LOCALIDREGID__MASK = 0xff000000
A6XX_SP_CS_CONST_CONFIG_0_LOCALIDREGID__SHIFT = 24
REG_A6XX_SP_CS_WGE_CNTL = 0x0000b998
A6XX_SP_CS_WGE_CNTL_LINEARLOCALIDREGID__MASK = 0x000000ff
A6XX_SP_CS_WGE_CNTL_LINEARLOCALIDREGID__SHIFT = 0
A6XX_SP_CS_WGE_CNTL_SINGLE_SP_CORE = 0x00000100
A6XX_SP_CS_WGE_CNTL_THREADSIZE__MASK = 0x00000200
A6XX_SP_CS_WGE_CNTL_THREADSIZE__SHIFT = 9
A6XX_SP_CS_WGE_CNTL_THREADSIZE_SCALAR = 0x00000400
REG_A6XX_SP_CS_KERNEL_GROUP_X = 0x0000b999
REG_A6XX_SP_CS_KERNEL_GROUP_Y = 0x0000b99a
REG_A6XX_SP_CS_KERNEL_GROUP_Z = 0x0000b99b
REG_A7XX_SP_CS_NDRANGE_0 = 0x0000a9d4
A7XX_SP_CS_NDRANGE_0_KERNELDIM__MASK = 0x00000003
A7XX_SP_CS_NDRANGE_0_KERNELDIM__SHIFT = 0
A7XX_SP_CS_NDRANGE_0_LOCALSIZEX__MASK = 0x00000ffc
A7XX_SP_CS_NDRANGE_0_LOCALSIZEX__SHIFT = 2
A7XX_SP_CS_NDRANGE_0_LOCALSIZEY__MASK = 0x003ff000
A7XX_SP_CS_NDRANGE_0_LOCALSIZEY__SHIFT = 12
A7XX_SP_CS_NDRANGE_0_LOCALSIZEZ__MASK = 0xffc00000
A7XX_SP_CS_NDRANGE_0_LOCALSIZEZ__SHIFT = 22
REG_A7XX_SP_CS_NDRANGE_1 = 0x0000a9d5
A7XX_SP_CS_NDRANGE_1_GLOBALSIZE_X__MASK = 0xffffffff
A7XX_SP_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT = 0
REG_A7XX_SP_CS_NDRANGE_2 = 0x0000a9d6
A7XX_SP_CS_NDRANGE_2_GLOBALOFF_X__MASK = 0xffffffff
A7XX_SP_CS_NDRANGE_2_GLOBALOFF_X__SHIFT = 0
REG_A7XX_SP_CS_NDRANGE_3 = 0x0000a9d7
A7XX_SP_CS_NDRANGE_3_GLOBALSIZE_Y__MASK = 0xffffffff
A7XX_SP_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT = 0
REG_A7XX_SP_CS_NDRANGE_4 = 0x0000a9d8
A7XX_SP_CS_NDRANGE_4_GLOBALOFF_Y__MASK = 0xffffffff
A7XX_SP_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT = 0
REG_A7XX_SP_CS_NDRANGE_5 = 0x0000a9d9
A7XX_SP_CS_NDRANGE_5_GLOBALSIZE_Z__MASK = 0xffffffff
A7XX_SP_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT = 0
REG_A7XX_SP_CS_NDRANGE_6 = 0x0000a9da
A7XX_SP_CS_NDRANGE_6_GLOBALOFF_Z__MASK = 0xffffffff
A7XX_SP_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT = 0
REG_A7XX_SP_CS_KERNEL_GROUP_X = 0x0000a9dc
REG_A7XX_SP_CS_KERNEL_GROUP_Y = 0x0000a9dd
REG_A7XX_SP_CS_KERNEL_GROUP_Z = 0x0000a9de
REG_A7XX_SP_CS_WGE_CNTL = 0x0000a9db
A7XX_SP_CS_WGE_CNTL_LINEARLOCALIDREGID__MASK = 0x000000ff
A7XX_SP_CS_WGE_CNTL_LINEARLOCALIDREGID__SHIFT = 0
A7XX_SP_CS_WGE_CNTL_THREADSIZE__MASK = 0x00000200
A7XX_SP_CS_WGE_CNTL_THREADSIZE__SHIFT = 9
A7XX_SP_CS_WGE_CNTL_WORKGROUPRASTORDERZFIRSTEN = 0x00000800
A7XX_SP_CS_WGE_CNTL_WGTILEWIDTH__MASK = 0x03f00000
A7XX_SP_CS_WGE_CNTL_WGTILEWIDTH__SHIFT = 20
A7XX_SP_CS_WGE_CNTL_WGTILEHEIGHT__MASK = 0xfc000000
A7XX_SP_CS_WGE_CNTL_WGTILEHEIGHT__SHIFT = 26
REG_A7XX_SP_CS_NDRANGE_7 = 0x0000a9df
A7XX_SP_CS_NDRANGE_7_LOCALSIZEX__MASK = 0x00000ffc
A7XX_SP_CS_NDRANGE_7_LOCALSIZEX__SHIFT = 2
A7XX_SP_CS_NDRANGE_7_LOCALSIZEY__MASK = 0x003ff000
A7XX_SP_CS_NDRANGE_7_LOCALSIZEY__SHIFT = 12
A7XX_SP_CS_NDRANGE_7_LOCALSIZEZ__MASK = 0xffc00000
A7XX_SP_CS_NDRANGE_7_LOCALSIZEZ__SHIFT = 22
REG_A6XX_HLSQ_LOAD_STATE_FRAG_CMD = 0x0000b9a0
REG_A6XX_HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR = 0x0000b9a1
REG_A6XX_HLSQ_LOAD_STATE_FRAG_DATA = 0x0000b9a3
REG_A6XX_HLSQ_CS_BINDLESS_BASE = lambda i0: (0x0000b9c0 + 0x2*i0 ) # type: ignore
A6XX_HLSQ_CS_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__MASK = 0x00000003
A6XX_HLSQ_CS_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__SHIFT = 0
A6XX_HLSQ_CS_BINDLESS_BASE_DESCRIPTOR_ADDR__MASK = 0xfffffffffffffffc
A6XX_HLSQ_CS_BINDLESS_BASE_DESCRIPTOR_ADDR__SHIFT = 2
REG_A6XX_HLSQ_CS_CTRL_REG1 = 0x0000b9d0
A6XX_HLSQ_CS_CTRL_REG1_SHARED_SIZE__MASK = 0x0000001f
A6XX_HLSQ_CS_CTRL_REG1_SHARED_SIZE__SHIFT = 0
A6XX_HLSQ_CS_CTRL_REG1_CONSTANTRAMMODE__MASK = 0x00000060
A6XX_HLSQ_CS_CTRL_REG1_CONSTANTRAMMODE__SHIFT = 5
REG_A6XX_SP_DRAW_INITIATOR = 0x0000bb00
A6XX_SP_DRAW_INITIATOR_STATE_ID__MASK = 0x000000ff
A6XX_SP_DRAW_INITIATOR_STATE_ID__SHIFT = 0
REG_A6XX_SP_KERNEL_INITIATOR = 0x0000bb01
A6XX_SP_KERNEL_INITIATOR_STATE_ID__MASK = 0x000000ff
A6XX_SP_KERNEL_INITIATOR_STATE_ID__SHIFT = 0
REG_A6XX_SP_EVENT_INITIATOR = 0x0000bb02
A6XX_SP_EVENT_INITIATOR_STATE_ID__MASK = 0x00ff0000
A6XX_SP_EVENT_INITIATOR_STATE_ID__SHIFT = 16
A6XX_SP_EVENT_INITIATOR_EVENT__MASK = 0x0000007f
A6XX_SP_EVENT_INITIATOR_EVENT__SHIFT = 0
REG_A6XX_SP_UPDATE_CNTL = 0x0000bb08
A6XX_SP_UPDATE_CNTL_VS_STATE = 0x00000001
A6XX_SP_UPDATE_CNTL_HS_STATE = 0x00000002
A6XX_SP_UPDATE_CNTL_DS_STATE = 0x00000004
A6XX_SP_UPDATE_CNTL_GS_STATE = 0x00000008
A6XX_SP_UPDATE_CNTL_FS_STATE = 0x00000010
A6XX_SP_UPDATE_CNTL_CS_STATE = 0x00000020
A6XX_SP_UPDATE_CNTL_CS_UAV = 0x00000040
A6XX_SP_UPDATE_CNTL_GFX_UAV = 0x00000080
A6XX_SP_UPDATE_CNTL_CS_SHARED_CONST = 0x00080000
A6XX_SP_UPDATE_CNTL_GFX_SHARED_CONST = 0x00000100
A6XX_SP_UPDATE_CNTL_CS_BINDLESS__MASK = 0x00003e00
A6XX_SP_UPDATE_CNTL_CS_BINDLESS__SHIFT = 9
A6XX_SP_UPDATE_CNTL_GFX_BINDLESS__MASK = 0x0007c000
A6XX_SP_UPDATE_CNTL_GFX_BINDLESS__SHIFT = 14
REG_A7XX_SP_DRAW_INITIATOR = 0x0000ab1c
A7XX_SP_DRAW_INITIATOR_STATE_ID__MASK = 0x000000ff
A7XX_SP_DRAW_INITIATOR_STATE_ID__SHIFT = 0
REG_A7XX_SP_KERNEL_INITIATOR = 0x0000ab1d
A7XX_SP_KERNEL_INITIATOR_STATE_ID__MASK = 0x000000ff
A7XX_SP_KERNEL_INITIATOR_STATE_ID__SHIFT = 0
REG_A7XX_SP_EVENT_INITIATOR = 0x0000ab1e
A7XX_SP_EVENT_INITIATOR_STATE_ID__MASK = 0x00ff0000
A7XX_SP_EVENT_INITIATOR_STATE_ID__SHIFT = 16
A7XX_SP_EVENT_INITIATOR_EVENT__MASK = 0x0000007f
A7XX_SP_EVENT_INITIATOR_EVENT__SHIFT = 0
REG_A7XX_SP_UPDATE_CNTL = 0x0000ab1f
A7XX_SP_UPDATE_CNTL_VS_STATE = 0x00000001
A7XX_SP_UPDATE_CNTL_HS_STATE = 0x00000002
A7XX_SP_UPDATE_CNTL_DS_STATE = 0x00000004
A7XX_SP_UPDATE_CNTL_GS_STATE = 0x00000008
A7XX_SP_UPDATE_CNTL_FS_STATE = 0x00000010
A7XX_SP_UPDATE_CNTL_CS_STATE = 0x00000020
A7XX_SP_UPDATE_CNTL_CS_UAV = 0x00000040
A7XX_SP_UPDATE_CNTL_GFX_UAV = 0x00000080
A7XX_SP_UPDATE_CNTL_CS_BINDLESS__MASK = 0x0001fe00
A7XX_SP_UPDATE_CNTL_CS_BINDLESS__SHIFT = 9
A7XX_SP_UPDATE_CNTL_GFX_BINDLESS__MASK = 0x01fe0000
A7XX_SP_UPDATE_CNTL_GFX_BINDLESS__SHIFT = 17
REG_A6XX_SP_PS_CONST_CONFIG = 0x0000bb10
A6XX_SP_PS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A6XX_SP_PS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A6XX_SP_PS_CONST_CONFIG_ENABLED = 0x00000100
A6XX_SP_PS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A7XX_SP_PS_CONST_CONFIG = 0x0000ab03
A7XX_SP_PS_CONST_CONFIG_CONSTLEN__MASK = 0x000000ff
A7XX_SP_PS_CONST_CONFIG_CONSTLEN__SHIFT = 0
A7XX_SP_PS_CONST_CONFIG_ENABLED = 0x00000100
A7XX_SP_PS_CONST_CONFIG_READ_IMM_SHARED_CONSTS = 0x00000200
REG_A7XX_SP_SHARED_CONSTANT_GFX_0 = lambda i0: (0x0000ab40 + 0x1*i0 ) # type: ignore
REG_A6XX_HLSQ_SHARED_CONSTS = 0x0000bb11
A6XX_HLSQ_SHARED_CONSTS_ENABLE = 0x00000001
REG_A6XX_HLSQ_BINDLESS_BASE = lambda i0: (0x0000bb20 + 0x2*i0 ) # type: ignore
A6XX_HLSQ_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__MASK = 0x00000003
A6XX_HLSQ_BINDLESS_BASE_DESCRIPTOR_DESC_SIZE__SHIFT = 0
A6XX_HLSQ_BINDLESS_BASE_DESCRIPTOR_ADDR__MASK = 0xfffffffffffffffc
A6XX_HLSQ_BINDLESS_BASE_DESCRIPTOR_ADDR__SHIFT = 2
REG_A6XX_HLSQ_2D_EVENT_CMD = 0x0000bd80
A6XX_HLSQ_2D_EVENT_CMD_STATE_ID__MASK = 0x0000ff00
A6XX_HLSQ_2D_EVENT_CMD_STATE_ID__SHIFT = 8
A6XX_HLSQ_2D_EVENT_CMD_EVENT__MASK = 0x0000007f
A6XX_HLSQ_2D_EVENT_CMD_EVENT__SHIFT = 0
REG_A6XX_HLSQ_UNKNOWN_BE00 = 0x0000be00
REG_A6XX_HLSQ_UNKNOWN_BE01 = 0x0000be01
REG_A6XX_HLSQ_DBG_ECO_CNTL = 0x0000be04
REG_A6XX_HLSQ_ADDR_MODE_CNTL = 0x0000be05
REG_A6XX_HLSQ_UNKNOWN_BE08 = 0x0000be08
REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL = lambda i0: (0x0000be10 + 0x1*i0 ) # type: ignore
REG_A6XX_HLSQ_CONTEXT_SWITCH_GFX_PREEMPTION_SAFE_MODE = 0x0000be22
REG_A7XX_SP_AHB_READ_APERTURE = 0x0000c000
REG_A7XX_SP_UNKNOWN_0CE2 = 0x00000ce2
REG_A7XX_SP_UNKNOWN_0CE4 = 0x00000ce4
REG_A7XX_SP_UNKNOWN_0CE6 = 0x00000ce6
REG_A6XX_CP_EVENT_START = 0x0000d600
A6XX_CP_EVENT_START_STATE_ID__MASK = 0x000000ff
A6XX_CP_EVENT_START_STATE_ID__SHIFT = 0
REG_A6XX_CP_EVENT_END = 0x0000d601
A6XX_CP_EVENT_END_STATE_ID__MASK = 0x000000ff
A6XX_CP_EVENT_END_STATE_ID__SHIFT = 0
REG_A6XX_CP_2D_EVENT_START = 0x0000d700
A6XX_CP_2D_EVENT_START_STATE_ID__MASK = 0x000000ff
A6XX_CP_2D_EVENT_START_STATE_ID__SHIFT = 0
REG_A6XX_CP_2D_EVENT_END = 0x0000d701
A6XX_CP_2D_EVENT_END_STATE_ID__MASK = 0x000000ff
A6XX_CP_2D_EVENT_END_STATE_ID__SHIFT = 0
REG_A6XX_PDC_GPU_ENABLE_PDC = 0x00001140
REG_A6XX_PDC_GPU_SEQ_START_ADDR = 0x00001148
REG_A6XX_PDC_GPU_TCS0_CONTROL = 0x00001540
REG_A6XX_PDC_GPU_TCS0_CMD_ENABLE_BANK = 0x00001541
REG_A6XX_PDC_GPU_TCS0_CMD_WAIT_FOR_CMPL_BANK = 0x00001542
REG_A6XX_PDC_GPU_TCS0_CMD0_MSGID = 0x00001543
REG_A6XX_PDC_GPU_TCS0_CMD0_ADDR = 0x00001544
REG_A6XX_PDC_GPU_TCS0_CMD0_DATA = 0x00001545
REG_A6XX_PDC_GPU_TCS1_CONTROL = 0x00001572
REG_A6XX_PDC_GPU_TCS1_CMD_ENABLE_BANK = 0x00001573
REG_A6XX_PDC_GPU_TCS1_CMD_WAIT_FOR_CMPL_BANK = 0x00001574
REG_A6XX_PDC_GPU_TCS1_CMD0_MSGID = 0x00001575
REG_A6XX_PDC_GPU_TCS1_CMD0_ADDR = 0x00001576
REG_A6XX_PDC_GPU_TCS1_CMD0_DATA = 0x00001577
REG_A6XX_PDC_GPU_TCS2_CONTROL = 0x000015a4
REG_A6XX_PDC_GPU_TCS2_CMD_ENABLE_BANK = 0x000015a5
REG_A6XX_PDC_GPU_TCS2_CMD_WAIT_FOR_CMPL_BANK = 0x000015a6
REG_A6XX_PDC_GPU_TCS2_CMD0_MSGID = 0x000015a7
REG_A6XX_PDC_GPU_TCS2_CMD0_ADDR = 0x000015a8
REG_A6XX_PDC_GPU_TCS2_CMD0_DATA = 0x000015a9
REG_A6XX_PDC_GPU_TCS3_CONTROL = 0x000015d6
REG_A6XX_PDC_GPU_TCS3_CMD_ENABLE_BANK = 0x000015d7
REG_A6XX_PDC_GPU_TCS3_CMD_WAIT_FOR_CMPL_BANK = 0x000015d8
REG_A6XX_PDC_GPU_TCS3_CMD0_MSGID = 0x000015d9
REG_A6XX_PDC_GPU_TCS3_CMD0_ADDR = 0x000015da
REG_A6XX_PDC_GPU_TCS3_CMD0_DATA = 0x000015db
REG_A6XX_PDC_GPU_SEQ_MEM_0 = 0x00000000
REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_A = 0x00000000
A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__MASK = 0x000000ff
A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__SHIFT = 0
A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__MASK = 0x0000ff00
A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__SHIFT = 8
REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_B = 0x00000001
REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_C = 0x00000002
REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_D = 0x00000003
REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLT = 0x00000004
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK = 0x0000003f
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT = 0
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK = 0x00007000
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT = 12
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK = 0xf0000000
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT = 28
REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLM = 0x00000005
A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK = 0x0f000000
A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT = 24
REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_0 = 0x00000008
REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_1 = 0x00000009
REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_2 = 0x0000000a
REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_3 = 0x0000000b
REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_0 = 0x0000000c
REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_1 = 0x0000000d
REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_2 = 0x0000000e
REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_3 = 0x0000000f
REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0 = 0x00000010
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK = 0x0000000f
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT = 0
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK = 0x000000f0
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT = 4
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK = 0x00000f00
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT = 8
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK = 0x0000f000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT = 12
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK = 0x000f0000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT = 16
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK = 0x00f00000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT = 20
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK = 0x0f000000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT = 24
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK = 0xf0000000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT = 28
REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1 = 0x00000011
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK = 0x0000000f
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT = 0
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK = 0x000000f0
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT = 4
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK = 0x00000f00
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT = 8
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK = 0x0000f000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT = 12
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK = 0x000f0000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT = 16
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK = 0x00f00000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT = 20
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK = 0x0f000000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT = 24
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK = 0xf0000000
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT = 28
REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF1 = 0x0000002f
REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF2 = 0x00000030
REG_A6XX_CX_MISC_SYSTEM_CACHE_CNTL_0 = 0x00000001
REG_A6XX_CX_MISC_SYSTEM_CACHE_CNTL_1 = 0x00000002
REG_A7XX_CX_MISC_TCM_RET_CNTL = 0x00000039
REG_A7XX_CX_MISC_SW_FUSE_VALUE = 0x00000400
A7XX_CX_MISC_SW_FUSE_VALUE_FASTBLEND = 0x00000001
A7XX_CX_MISC_SW_FUSE_VALUE_LPAC = 0x00000002
A7XX_CX_MISC_SW_FUSE_VALUE_RAYTRACING = 0x00000004
__struct__cast = lambda X: (struct_X) # type: ignore
REG_CP_LOAD_STATE_0 = 0x00000000
CP_LOAD_STATE_0_DST_OFF__MASK = 0x0000ffff
CP_LOAD_STATE_0_DST_OFF__SHIFT = 0
CP_LOAD_STATE_0_STATE_SRC__MASK = 0x00070000
CP_LOAD_STATE_0_STATE_SRC__SHIFT = 16
CP_LOAD_STATE_0_STATE_BLOCK__MASK = 0x00380000
CP_LOAD_STATE_0_STATE_BLOCK__SHIFT = 19
CP_LOAD_STATE_0_NUM_UNIT__MASK = 0xffc00000
CP_LOAD_STATE_0_NUM_UNIT__SHIFT = 22
REG_CP_LOAD_STATE_1 = 0x00000001
CP_LOAD_STATE_1_STATE_TYPE__MASK = 0x00000003
CP_LOAD_STATE_1_STATE_TYPE__SHIFT = 0
CP_LOAD_STATE_1_EXT_SRC_ADDR__MASK = 0xfffffffc
CP_LOAD_STATE_1_EXT_SRC_ADDR__SHIFT = 2
REG_CP_LOAD_STATE4_0 = 0x00000000
CP_LOAD_STATE4_0_DST_OFF__MASK = 0x00003fff
CP_LOAD_STATE4_0_DST_OFF__SHIFT = 0
CP_LOAD_STATE4_0_STATE_SRC__MASK = 0x00030000
CP_LOAD_STATE4_0_STATE_SRC__SHIFT = 16
CP_LOAD_STATE4_0_STATE_BLOCK__MASK = 0x003c0000
CP_LOAD_STATE4_0_STATE_BLOCK__SHIFT = 18
CP_LOAD_STATE4_0_NUM_UNIT__MASK = 0xffc00000
CP_LOAD_STATE4_0_NUM_UNIT__SHIFT = 22
REG_CP_LOAD_STATE4_1 = 0x00000001
CP_LOAD_STATE4_1_STATE_TYPE__MASK = 0x00000003
CP_LOAD_STATE4_1_STATE_TYPE__SHIFT = 0
CP_LOAD_STATE4_1_EXT_SRC_ADDR__MASK = 0xfffffffc
CP_LOAD_STATE4_1_EXT_SRC_ADDR__SHIFT = 2
REG_CP_LOAD_STATE4_2 = 0x00000002
CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__MASK = 0xffffffff
CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__SHIFT = 0
REG_CP_LOAD_STATE6_0 = 0x00000000
CP_LOAD_STATE6_0_DST_OFF__MASK = 0x00003fff
CP_LOAD_STATE6_0_DST_OFF__SHIFT = 0
CP_LOAD_STATE6_0_STATE_TYPE__MASK = 0x0000c000
CP_LOAD_STATE6_0_STATE_TYPE__SHIFT = 14
CP_LOAD_STATE6_0_STATE_SRC__MASK = 0x00030000
CP_LOAD_STATE6_0_STATE_SRC__SHIFT = 16
CP_LOAD_STATE6_0_STATE_BLOCK__MASK = 0x003c0000
CP_LOAD_STATE6_0_STATE_BLOCK__SHIFT = 18
CP_LOAD_STATE6_0_NUM_UNIT__MASK = 0xffc00000
CP_LOAD_STATE6_0_NUM_UNIT__SHIFT = 22
REG_CP_LOAD_STATE6_1 = 0x00000001
CP_LOAD_STATE6_1_EXT_SRC_ADDR__MASK = 0xfffffffc
CP_LOAD_STATE6_1_EXT_SRC_ADDR__SHIFT = 2
REG_CP_LOAD_STATE6_2 = 0x00000002
CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__MASK = 0xffffffff
CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__SHIFT = 0
REG_CP_LOAD_STATE6_EXT_SRC_ADDR = 0x00000001
REG_CP_DRAW_INDX_0 = 0x00000000
CP_DRAW_INDX_0_VIZ_QUERY__MASK = 0xffffffff
CP_DRAW_INDX_0_VIZ_QUERY__SHIFT = 0
REG_CP_DRAW_INDX_1 = 0x00000001
CP_DRAW_INDX_1_PRIM_TYPE__MASK = 0x0000003f
CP_DRAW_INDX_1_PRIM_TYPE__SHIFT = 0
CP_DRAW_INDX_1_SOURCE_SELECT__MASK = 0x000000c0
CP_DRAW_INDX_1_SOURCE_SELECT__SHIFT = 6
CP_DRAW_INDX_1_VIS_CULL__MASK = 0x00000600
CP_DRAW_INDX_1_VIS_CULL__SHIFT = 9
CP_DRAW_INDX_1_INDEX_SIZE__MASK = 0x00000800
CP_DRAW_INDX_1_INDEX_SIZE__SHIFT = 11
CP_DRAW_INDX_1_NOT_EOP = 0x00001000
CP_DRAW_INDX_1_SMALL_INDEX = 0x00002000
CP_DRAW_INDX_1_PRE_DRAW_INITIATOR_ENABLE = 0x00004000
CP_DRAW_INDX_1_NUM_INSTANCES__MASK = 0xff000000
CP_DRAW_INDX_1_NUM_INSTANCES__SHIFT = 24
REG_CP_DRAW_INDX_2 = 0x00000002
CP_DRAW_INDX_2_NUM_INDICES__MASK = 0xffffffff
CP_DRAW_INDX_2_NUM_INDICES__SHIFT = 0
REG_CP_DRAW_INDX_3 = 0x00000003
CP_DRAW_INDX_3_INDX_BASE__MASK = 0xffffffff
CP_DRAW_INDX_3_INDX_BASE__SHIFT = 0
REG_CP_DRAW_INDX_4 = 0x00000004
CP_DRAW_INDX_4_INDX_SIZE__MASK = 0xffffffff
CP_DRAW_INDX_4_INDX_SIZE__SHIFT = 0
REG_CP_DRAW_INDX_2_0 = 0x00000000
CP_DRAW_INDX_2_0_VIZ_QUERY__MASK = 0xffffffff
CP_DRAW_INDX_2_0_VIZ_QUERY__SHIFT = 0
REG_CP_DRAW_INDX_2_1 = 0x00000001
CP_DRAW_INDX_2_1_PRIM_TYPE__MASK = 0x0000003f
CP_DRAW_INDX_2_1_PRIM_TYPE__SHIFT = 0
CP_DRAW_INDX_2_1_SOURCE_SELECT__MASK = 0x000000c0
CP_DRAW_INDX_2_1_SOURCE_SELECT__SHIFT = 6
CP_DRAW_INDX_2_1_VIS_CULL__MASK = 0x00000600
CP_DRAW_INDX_2_1_VIS_CULL__SHIFT = 9
CP_DRAW_INDX_2_1_INDEX_SIZE__MASK = 0x00000800
CP_DRAW_INDX_2_1_INDEX_SIZE__SHIFT = 11
CP_DRAW_INDX_2_1_NOT_EOP = 0x00001000
CP_DRAW_INDX_2_1_SMALL_INDEX = 0x00002000
CP_DRAW_INDX_2_1_PRE_DRAW_INITIATOR_ENABLE = 0x00004000
CP_DRAW_INDX_2_1_NUM_INSTANCES__MASK = 0xff000000
CP_DRAW_INDX_2_1_NUM_INSTANCES__SHIFT = 24
REG_CP_DRAW_INDX_2_2 = 0x00000002
CP_DRAW_INDX_2_2_NUM_INDICES__MASK = 0xffffffff
CP_DRAW_INDX_2_2_NUM_INDICES__SHIFT = 0
REG_CP_DRAW_INDX_OFFSET_0 = 0x00000000
CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__MASK = 0x0000003f
CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__SHIFT = 0
CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__MASK = 0x000000c0
CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__SHIFT = 6
CP_DRAW_INDX_OFFSET_0_VIS_CULL__MASK = 0x00000300
CP_DRAW_INDX_OFFSET_0_VIS_CULL__SHIFT = 8
CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__MASK = 0x00000c00
CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__SHIFT = 10
CP_DRAW_INDX_OFFSET_0_PATCH_TYPE__MASK = 0x00003000
CP_DRAW_INDX_OFFSET_0_PATCH_TYPE__SHIFT = 12
CP_DRAW_INDX_OFFSET_0_GS_ENABLE = 0x00010000
CP_DRAW_INDX_OFFSET_0_TESS_ENABLE = 0x00020000
REG_CP_DRAW_INDX_OFFSET_1 = 0x00000001
CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__MASK = 0xffffffff
CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__SHIFT = 0
REG_CP_DRAW_INDX_OFFSET_2 = 0x00000002
CP_DRAW_INDX_OFFSET_2_NUM_INDICES__MASK = 0xffffffff
CP_DRAW_INDX_OFFSET_2_NUM_INDICES__SHIFT = 0
REG_CP_DRAW_INDX_OFFSET_3 = 0x00000003
CP_DRAW_INDX_OFFSET_3_FIRST_INDX__MASK = 0xffffffff
CP_DRAW_INDX_OFFSET_3_FIRST_INDX__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_OFFSET_4 = 0x00000004
A5XX_CP_DRAW_INDX_OFFSET_4_INDX_BASE_LO__MASK = 0xffffffff
A5XX_CP_DRAW_INDX_OFFSET_4_INDX_BASE_LO__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_OFFSET_5 = 0x00000005
A5XX_CP_DRAW_INDX_OFFSET_5_INDX_BASE_HI__MASK = 0xffffffff
A5XX_CP_DRAW_INDX_OFFSET_5_INDX_BASE_HI__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_OFFSET_INDX_BASE = 0x00000004
REG_A5XX_CP_DRAW_INDX_OFFSET_6 = 0x00000006
A5XX_CP_DRAW_INDX_OFFSET_6_MAX_INDICES__MASK = 0xffffffff
A5XX_CP_DRAW_INDX_OFFSET_6_MAX_INDICES__SHIFT = 0
REG_CP_DRAW_INDX_OFFSET_4 = 0x00000004
CP_DRAW_INDX_OFFSET_4_INDX_BASE__MASK = 0xffffffff
CP_DRAW_INDX_OFFSET_4_INDX_BASE__SHIFT = 0
REG_CP_DRAW_INDX_OFFSET_5 = 0x00000005
CP_DRAW_INDX_OFFSET_5_INDX_SIZE__MASK = 0xffffffff
CP_DRAW_INDX_OFFSET_5_INDX_SIZE__SHIFT = 0
REG_A4XX_CP_DRAW_INDIRECT_0 = 0x00000000
A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK = 0x0000003f
A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT = 0
A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK = 0x000000c0
A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT = 6
A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__MASK = 0x00000300
A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT = 8
A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK = 0x00000c00
A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT = 10
A4XX_CP_DRAW_INDIRECT_0_PATCH_TYPE__MASK = 0x00003000
A4XX_CP_DRAW_INDIRECT_0_PATCH_TYPE__SHIFT = 12
A4XX_CP_DRAW_INDIRECT_0_GS_ENABLE = 0x00010000
A4XX_CP_DRAW_INDIRECT_0_TESS_ENABLE = 0x00020000
REG_A4XX_CP_DRAW_INDIRECT_1 = 0x00000001
A4XX_CP_DRAW_INDIRECT_1_INDIRECT__MASK = 0xffffffff
A4XX_CP_DRAW_INDIRECT_1_INDIRECT__SHIFT = 0
REG_A5XX_CP_DRAW_INDIRECT_1 = 0x00000001
A5XX_CP_DRAW_INDIRECT_1_INDIRECT_LO__MASK = 0xffffffff
A5XX_CP_DRAW_INDIRECT_1_INDIRECT_LO__SHIFT = 0
REG_A5XX_CP_DRAW_INDIRECT_2 = 0x00000002
A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK = 0xffffffff
A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT = 0
REG_A5XX_CP_DRAW_INDIRECT_INDIRECT = 0x00000001
REG_A4XX_CP_DRAW_INDX_INDIRECT_0 = 0x00000000
A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK = 0x0000003f
A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT = 0
A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK = 0x000000c0
A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT = 6
A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK = 0x00000300
A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT = 8
A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK = 0x00000c00
A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT = 10
A4XX_CP_DRAW_INDX_INDIRECT_0_PATCH_TYPE__MASK = 0x00003000
A4XX_CP_DRAW_INDX_INDIRECT_0_PATCH_TYPE__SHIFT = 12
A4XX_CP_DRAW_INDX_INDIRECT_0_GS_ENABLE = 0x00010000
A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_ENABLE = 0x00020000
REG_A4XX_CP_DRAW_INDX_INDIRECT_1 = 0x00000001
A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__MASK = 0xffffffff
A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__SHIFT = 0
REG_A4XX_CP_DRAW_INDX_INDIRECT_2 = 0x00000002
A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__MASK = 0xffffffff
A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__SHIFT = 0
REG_A4XX_CP_DRAW_INDX_INDIRECT_3 = 0x00000003
A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__MASK = 0xffffffff
A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_INDIRECT_1 = 0x00000001
A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK = 0xffffffff
A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_INDIRECT_2 = 0x00000002
A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK = 0xffffffff
A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_INDIRECT_INDX_BASE = 0x00000001
REG_A5XX_CP_DRAW_INDX_INDIRECT_3 = 0x00000003
A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK = 0xffffffff
A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_INDIRECT_4 = 0x00000004
A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK = 0xffffffff
A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_INDIRECT_5 = 0x00000005
A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK = 0xffffffff
A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT = 0
REG_A5XX_CP_DRAW_INDX_INDIRECT_INDIRECT = 0x00000004
REG_A6XX_CP_DRAW_INDIRECT_MULTI_0 = 0x00000000
A6XX_CP_DRAW_INDIRECT_MULTI_0_PRIM_TYPE__MASK = 0x0000003f
A6XX_CP_DRAW_INDIRECT_MULTI_0_PRIM_TYPE__SHIFT = 0
A6XX_CP_DRAW_INDIRECT_MULTI_0_SOURCE_SELECT__MASK = 0x000000c0
A6XX_CP_DRAW_INDIRECT_MULTI_0_SOURCE_SELECT__SHIFT = 6
A6XX_CP_DRAW_INDIRECT_MULTI_0_VIS_CULL__MASK = 0x00000300
A6XX_CP_DRAW_INDIRECT_MULTI_0_VIS_CULL__SHIFT = 8
A6XX_CP_DRAW_INDIRECT_MULTI_0_INDEX_SIZE__MASK = 0x00000c00
A6XX_CP_DRAW_INDIRECT_MULTI_0_INDEX_SIZE__SHIFT = 10
A6XX_CP_DRAW_INDIRECT_MULTI_0_PATCH_TYPE__MASK = 0x00003000
A6XX_CP_DRAW_INDIRECT_MULTI_0_PATCH_TYPE__SHIFT = 12
A6XX_CP_DRAW_INDIRECT_MULTI_0_GS_ENABLE = 0x00010000
A6XX_CP_DRAW_INDIRECT_MULTI_0_TESS_ENABLE = 0x00020000
REG_A6XX_CP_DRAW_INDIRECT_MULTI_1 = 0x00000001
A6XX_CP_DRAW_INDIRECT_MULTI_1_OPCODE__MASK = 0x0000000f
A6XX_CP_DRAW_INDIRECT_MULTI_1_OPCODE__SHIFT = 0
A6XX_CP_DRAW_INDIRECT_MULTI_1_DST_OFF__MASK = 0x003fff00
A6XX_CP_DRAW_INDIRECT_MULTI_1_DST_OFF__SHIFT = 8
REG_A6XX_CP_DRAW_INDIRECT_MULTI_DRAW_COUNT = 0x00000002
REG_INDIRECT_OP_NORMAL_CP_DRAW_INDIRECT_MULTI_INDIRECT = 0x00000003
REG_INDIRECT_OP_NORMAL_CP_DRAW_INDIRECT_MULTI_STRIDE = 0x00000005
REG_INDIRECT_OP_INDEXED_CP_DRAW_INDIRECT_MULTI_INDEX = 0x00000003
REG_INDIRECT_OP_INDEXED_CP_DRAW_INDIRECT_MULTI_MAX_INDICES = 0x00000005
REG_INDIRECT_OP_INDEXED_CP_DRAW_INDIRECT_MULTI_INDIRECT = 0x00000006
REG_INDIRECT_OP_INDEXED_CP_DRAW_INDIRECT_MULTI_STRIDE = 0x00000008
REG_INDIRECT_OP_INDIRECT_COUNT_CP_DRAW_INDIRECT_MULTI_INDIRECT = 0x00000003
REG_INDIRECT_OP_INDIRECT_COUNT_CP_DRAW_INDIRECT_MULTI_INDIRECT_COUNT = 0x00000005
REG_INDIRECT_OP_INDIRECT_COUNT_CP_DRAW_INDIRECT_MULTI_STRIDE = 0x00000007
REG_INDIRECT_OP_INDIRECT_COUNT_INDEXED_CP_DRAW_INDIRECT_MULTI_INDEX = 0x00000003
REG_INDIRECT_OP_INDIRECT_COUNT_INDEXED_CP_DRAW_INDIRECT_MULTI_MAX_INDICES = 0x00000005
REG_INDIRECT_OP_INDIRECT_COUNT_INDEXED_CP_DRAW_INDIRECT_MULTI_INDIRECT = 0x00000006
REG_INDIRECT_OP_INDIRECT_COUNT_INDEXED_CP_DRAW_INDIRECT_MULTI_INDIRECT_COUNT = 0x00000008
REG_INDIRECT_OP_INDIRECT_COUNT_INDEXED_CP_DRAW_INDIRECT_MULTI_STRIDE = 0x0000000a
REG_CP_DRAW_AUTO_0 = 0x00000000
CP_DRAW_AUTO_0_PRIM_TYPE__MASK = 0x0000003f
CP_DRAW_AUTO_0_PRIM_TYPE__SHIFT = 0
CP_DRAW_AUTO_0_SOURCE_SELECT__MASK = 0x000000c0
CP_DRAW_AUTO_0_SOURCE_SELECT__SHIFT = 6
CP_DRAW_AUTO_0_VIS_CULL__MASK = 0x00000300
CP_DRAW_AUTO_0_VIS_CULL__SHIFT = 8
CP_DRAW_AUTO_0_INDEX_SIZE__MASK = 0x00000c00
CP_DRAW_AUTO_0_INDEX_SIZE__SHIFT = 10
CP_DRAW_AUTO_0_PATCH_TYPE__MASK = 0x00003000
CP_DRAW_AUTO_0_PATCH_TYPE__SHIFT = 12
CP_DRAW_AUTO_0_GS_ENABLE = 0x00010000
CP_DRAW_AUTO_0_TESS_ENABLE = 0x00020000
REG_CP_DRAW_AUTO_1 = 0x00000001
CP_DRAW_AUTO_1_NUM_INSTANCES__MASK = 0xffffffff
CP_DRAW_AUTO_1_NUM_INSTANCES__SHIFT = 0
REG_CP_DRAW_AUTO_NUM_VERTICES_BASE = 0x00000002
REG_CP_DRAW_AUTO_4 = 0x00000004
CP_DRAW_AUTO_4_NUM_VERTICES_OFFSET__MASK = 0xffffffff
CP_DRAW_AUTO_4_NUM_VERTICES_OFFSET__SHIFT = 0
REG_CP_DRAW_AUTO_5 = 0x00000005
CP_DRAW_AUTO_5_STRIDE__MASK = 0xffffffff
CP_DRAW_AUTO_5_STRIDE__SHIFT = 0
REG_CP_DRAW_PRED_ENABLE_GLOBAL_0 = 0x00000000
CP_DRAW_PRED_ENABLE_GLOBAL_0_ENABLE = 0x00000001
REG_CP_DRAW_PRED_ENABLE_LOCAL_0 = 0x00000000
CP_DRAW_PRED_ENABLE_LOCAL_0_ENABLE = 0x00000001
REG_CP_DRAW_PRED_SET_0 = 0x00000000
CP_DRAW_PRED_SET_0_SRC__MASK = 0x000000f0
CP_DRAW_PRED_SET_0_SRC__SHIFT = 4
CP_DRAW_PRED_SET_0_TEST__MASK = 0x00000100
CP_DRAW_PRED_SET_0_TEST__SHIFT = 8
REG_CP_DRAW_PRED_SET_MEM_ADDR = 0x00000001
REG_CP_SET_DRAW_STATE_ = lambda i0: (0x00000000 + 0x3*i0 ) # type: ignore
CP_SET_DRAW_STATE__0_COUNT__MASK = 0x0000ffff
CP_SET_DRAW_STATE__0_COUNT__SHIFT = 0
CP_SET_DRAW_STATE__0_DIRTY = 0x00010000
CP_SET_DRAW_STATE__0_DISABLE = 0x00020000
CP_SET_DRAW_STATE__0_DISABLE_ALL_GROUPS = 0x00040000
CP_SET_DRAW_STATE__0_LOAD_IMMED = 0x00080000
CP_SET_DRAW_STATE__0_BINNING = 0x00100000
CP_SET_DRAW_STATE__0_GMEM = 0x00200000
CP_SET_DRAW_STATE__0_SYSMEM = 0x00400000
CP_SET_DRAW_STATE__0_GROUP_ID__MASK = 0x1f000000
CP_SET_DRAW_STATE__0_GROUP_ID__SHIFT = 24
CP_SET_DRAW_STATE__1_ADDR_LO__MASK = 0xffffffff
CP_SET_DRAW_STATE__1_ADDR_LO__SHIFT = 0
CP_SET_DRAW_STATE__2_ADDR_HI__MASK = 0xffffffff
CP_SET_DRAW_STATE__2_ADDR_HI__SHIFT = 0
REG_CP_SET_BIN_0 = 0x00000000
REG_CP_SET_BIN_1 = 0x00000001
CP_SET_BIN_1_X1__MASK = 0x0000ffff
CP_SET_BIN_1_X1__SHIFT = 0
CP_SET_BIN_1_Y1__MASK = 0xffff0000
CP_SET_BIN_1_Y1__SHIFT = 16
REG_CP_SET_BIN_2 = 0x00000002
CP_SET_BIN_2_X2__MASK = 0x0000ffff
CP_SET_BIN_2_X2__SHIFT = 0
CP_SET_BIN_2_Y2__MASK = 0xffff0000
CP_SET_BIN_2_Y2__SHIFT = 16
REG_CP_SET_BIN_DATA_0 = 0x00000000
CP_SET_BIN_DATA_0_BIN_DATA_ADDR__MASK = 0xffffffff
CP_SET_BIN_DATA_0_BIN_DATA_ADDR__SHIFT = 0
REG_CP_SET_BIN_DATA_1 = 0x00000001
CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__MASK = 0xffffffff
CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__SHIFT = 0
REG_CP_SET_BIN_DATA5_0 = 0x00000000
CP_SET_BIN_DATA5_0_VSC_MASK__MASK = 0x0000ffff
CP_SET_BIN_DATA5_0_VSC_MASK__SHIFT = 0
CP_SET_BIN_DATA5_0_VSC_SIZE__MASK = 0x003f0000
CP_SET_BIN_DATA5_0_VSC_SIZE__SHIFT = 16
CP_SET_BIN_DATA5_0_VSC_N__MASK = 0x07c00000
CP_SET_BIN_DATA5_0_VSC_N__SHIFT = 22
CP_SET_BIN_DATA5_0_ABS_MASK__MASK = 0x10000000
CP_SET_BIN_DATA5_0_ABS_MASK__SHIFT = 28
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_1 = 0x00000001
NO_ABS_MASK_CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__SHIFT = 0
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_2 = 0x00000002
NO_ABS_MASK_CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__SHIFT = 0
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_3 = 0x00000003
NO_ABS_MASK_CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__SHIFT = 0
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_4 = 0x00000004
NO_ABS_MASK_CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__SHIFT = 0
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_5 = 0x00000005
NO_ABS_MASK_CP_SET_BIN_DATA5_5_BIN_PRIM_STRM_LO__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_5_BIN_PRIM_STRM_LO__SHIFT = 0
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_6 = 0x00000006
NO_ABS_MASK_CP_SET_BIN_DATA5_6_BIN_PRIM_STRM_HI__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_6_BIN_PRIM_STRM_HI__SHIFT = 0
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_7 = 0x00000007
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_9 = 0x00000009
REG_ABS_MASK_CP_SET_BIN_DATA5_ABS_MASK = 0x00000001
REG_ABS_MASK_CP_SET_BIN_DATA5_2 = 0x00000002
ABS_MASK_CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_LO__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_LO__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_3 = 0x00000003
ABS_MASK_CP_SET_BIN_DATA5_3_BIN_DATA_ADDR_HI__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_3_BIN_DATA_ADDR_HI__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_4 = 0x00000004
ABS_MASK_CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_LO__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_LO__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_5 = 0x00000005
ABS_MASK_CP_SET_BIN_DATA5_5_BIN_SIZE_ADDRESS_HI__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_5_BIN_SIZE_ADDRESS_HI__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_6 = 0x00000006
ABS_MASK_CP_SET_BIN_DATA5_6_BIN_PRIM_STRM_LO__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_6_BIN_PRIM_STRM_LO__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_7 = 0x00000007
ABS_MASK_CP_SET_BIN_DATA5_7_BIN_PRIM_STRM_HI__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_7_BIN_PRIM_STRM_HI__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_8 = 0x00000008
REG_ABS_MASK_CP_SET_BIN_DATA5_10 = 0x0000000a
REG_CP_SET_BIN_DATA5_OFFSET_0 = 0x00000000
CP_SET_BIN_DATA5_OFFSET_0_VSC_MASK__MASK = 0x0000ffff
CP_SET_BIN_DATA5_OFFSET_0_VSC_MASK__SHIFT = 0
CP_SET_BIN_DATA5_OFFSET_0_VSC_SIZE__MASK = 0x003f0000
CP_SET_BIN_DATA5_OFFSET_0_VSC_SIZE__SHIFT = 16
CP_SET_BIN_DATA5_OFFSET_0_VSC_N__MASK = 0x07c00000
CP_SET_BIN_DATA5_OFFSET_0_VSC_N__SHIFT = 22
CP_SET_BIN_DATA5_OFFSET_0_ABS_MASK__MASK = 0x10000000
CP_SET_BIN_DATA5_OFFSET_0_ABS_MASK__SHIFT = 28
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_1 = 0x00000001
NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_1_BIN_DATA_OFFSET__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_1_BIN_DATA_OFFSET__SHIFT = 0
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_2 = 0x00000002
NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_2_BIN_SIZE_OFFSET__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_2_BIN_SIZE_OFFSET__SHIFT = 0
REG_NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_3 = 0x00000003
NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_3_BIN_DATA2_OFFSET__MASK = 0xffffffff
NO_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_3_BIN_DATA2_OFFSET__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_ABS_MASK = 0x00000001
REG_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_2 = 0x00000002
ABS_MASK_CP_SET_BIN_DATA5_OFFSET_2_BIN_DATA_OFFSET__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_OFFSET_2_BIN_DATA_OFFSET__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_3 = 0x00000003
ABS_MASK_CP_SET_BIN_DATA5_OFFSET_3_BIN_SIZE_OFFSET__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_OFFSET_3_BIN_SIZE_OFFSET__SHIFT = 0
REG_ABS_MASK_CP_SET_BIN_DATA5_OFFSET_4 = 0x00000004
ABS_MASK_CP_SET_BIN_DATA5_OFFSET_4_BIN_DATA2_OFFSET__MASK = 0xffffffff
ABS_MASK_CP_SET_BIN_DATA5_OFFSET_4_BIN_DATA2_OFFSET__SHIFT = 0
REG_CP_REG_RMW_0 = 0x00000000
CP_REG_RMW_0_DST_REG__MASK = 0x0003ffff
CP_REG_RMW_0_DST_REG__SHIFT = 0
CP_REG_RMW_0_DST_SCRATCH = 0x00080000
CP_REG_RMW_0_SKIP_WAIT_FOR_ME = 0x00800000
CP_REG_RMW_0_ROTATE__MASK = 0x1f000000
CP_REG_RMW_0_ROTATE__SHIFT = 24
CP_REG_RMW_0_SRC1_ADD = 0x20000000
CP_REG_RMW_0_SRC1_IS_REG = 0x40000000
CP_REG_RMW_0_SRC0_IS_REG = 0x80000000
REG_CP_REG_RMW_1 = 0x00000001
CP_REG_RMW_1_SRC0__MASK = 0xffffffff
CP_REG_RMW_1_SRC0__SHIFT = 0
REG_CP_REG_RMW_2 = 0x00000002
CP_REG_RMW_2_SRC1__MASK = 0xffffffff
CP_REG_RMW_2_SRC1__SHIFT = 0
REG_CP_REG_TO_MEM_0 = 0x00000000
CP_REG_TO_MEM_0_REG__MASK = 0x0003ffff
CP_REG_TO_MEM_0_REG__SHIFT = 0
CP_REG_TO_MEM_0_CNT__MASK = 0x3ffc0000
CP_REG_TO_MEM_0_CNT__SHIFT = 18
CP_REG_TO_MEM_0_64B = 0x40000000
CP_REG_TO_MEM_0_ACCUMULATE = 0x80000000
REG_CP_REG_TO_MEM_1 = 0x00000001
CP_REG_TO_MEM_1_DEST__MASK = 0xffffffff
CP_REG_TO_MEM_1_DEST__SHIFT = 0
REG_CP_REG_TO_MEM_2 = 0x00000002
CP_REG_TO_MEM_2_DEST_HI__MASK = 0xffffffff
CP_REG_TO_MEM_2_DEST_HI__SHIFT = 0
REG_CP_REG_TO_MEM_OFFSET_REG_0 = 0x00000000
CP_REG_TO_MEM_OFFSET_REG_0_REG__MASK = 0x0003ffff
CP_REG_TO_MEM_OFFSET_REG_0_REG__SHIFT = 0
CP_REG_TO_MEM_OFFSET_REG_0_CNT__MASK = 0x3ffc0000
CP_REG_TO_MEM_OFFSET_REG_0_CNT__SHIFT = 18
CP_REG_TO_MEM_OFFSET_REG_0_64B = 0x40000000
CP_REG_TO_MEM_OFFSET_REG_0_ACCUMULATE = 0x80000000
REG_CP_REG_TO_MEM_OFFSET_REG_1 = 0x00000001
CP_REG_TO_MEM_OFFSET_REG_1_DEST__MASK = 0xffffffff
CP_REG_TO_MEM_OFFSET_REG_1_DEST__SHIFT = 0
REG_CP_REG_TO_MEM_OFFSET_REG_2 = 0x00000002
CP_REG_TO_MEM_OFFSET_REG_2_DEST_HI__MASK = 0xffffffff
CP_REG_TO_MEM_OFFSET_REG_2_DEST_HI__SHIFT = 0
REG_CP_REG_TO_MEM_OFFSET_REG_3 = 0x00000003
CP_REG_TO_MEM_OFFSET_REG_3_OFFSET0__MASK = 0x0003ffff
CP_REG_TO_MEM_OFFSET_REG_3_OFFSET0__SHIFT = 0
CP_REG_TO_MEM_OFFSET_REG_3_OFFSET0_SCRATCH = 0x00080000
REG_CP_REG_TO_MEM_OFFSET_MEM_0 = 0x00000000
CP_REG_TO_MEM_OFFSET_MEM_0_REG__MASK = 0x0003ffff
CP_REG_TO_MEM_OFFSET_MEM_0_REG__SHIFT = 0
CP_REG_TO_MEM_OFFSET_MEM_0_CNT__MASK = 0x3ffc0000
CP_REG_TO_MEM_OFFSET_MEM_0_CNT__SHIFT = 18
CP_REG_TO_MEM_OFFSET_MEM_0_64B = 0x40000000
CP_REG_TO_MEM_OFFSET_MEM_0_ACCUMULATE = 0x80000000
REG_CP_REG_TO_MEM_OFFSET_MEM_1 = 0x00000001
CP_REG_TO_MEM_OFFSET_MEM_1_DEST__MASK = 0xffffffff
CP_REG_TO_MEM_OFFSET_MEM_1_DEST__SHIFT = 0
REG_CP_REG_TO_MEM_OFFSET_MEM_2 = 0x00000002
CP_REG_TO_MEM_OFFSET_MEM_2_DEST_HI__MASK = 0xffffffff
CP_REG_TO_MEM_OFFSET_MEM_2_DEST_HI__SHIFT = 0
REG_CP_REG_TO_MEM_OFFSET_MEM_3 = 0x00000003
CP_REG_TO_MEM_OFFSET_MEM_3_OFFSET_LO__MASK = 0xffffffff
CP_REG_TO_MEM_OFFSET_MEM_3_OFFSET_LO__SHIFT = 0
REG_CP_REG_TO_MEM_OFFSET_MEM_4 = 0x00000004
CP_REG_TO_MEM_OFFSET_MEM_4_OFFSET_HI__MASK = 0xffffffff
CP_REG_TO_MEM_OFFSET_MEM_4_OFFSET_HI__SHIFT = 0
REG_CP_MEM_TO_REG_0 = 0x00000000
CP_MEM_TO_REG_0_REG__MASK = 0x0003ffff
CP_MEM_TO_REG_0_REG__SHIFT = 0
CP_MEM_TO_REG_0_CNT__MASK = 0x3ff80000
CP_MEM_TO_REG_0_CNT__SHIFT = 19
CP_MEM_TO_REG_0_SHIFT_BY_2 = 0x40000000
CP_MEM_TO_REG_0_UNK31 = 0x80000000
REG_CP_MEM_TO_REG_1 = 0x00000001
CP_MEM_TO_REG_1_SRC__MASK = 0xffffffff
CP_MEM_TO_REG_1_SRC__SHIFT = 0
REG_CP_MEM_TO_REG_2 = 0x00000002
CP_MEM_TO_REG_2_SRC_HI__MASK = 0xffffffff
CP_MEM_TO_REG_2_SRC_HI__SHIFT = 0
REG_CP_MEM_TO_MEM_0 = 0x00000000
CP_MEM_TO_MEM_0_NEG_A = 0x00000001
CP_MEM_TO_MEM_0_NEG_B = 0x00000002
CP_MEM_TO_MEM_0_NEG_C = 0x00000004
CP_MEM_TO_MEM_0_DOUBLE = 0x20000000
CP_MEM_TO_MEM_0_WAIT_FOR_MEM_WRITES = 0x40000000
CP_MEM_TO_MEM_0_UNK31 = 0x80000000
REG_CP_MEMCPY_0 = 0x00000000
CP_MEMCPY_0_DWORDS__MASK = 0xffffffff
CP_MEMCPY_0_DWORDS__SHIFT = 0
REG_CP_MEMCPY_1 = 0x00000001
CP_MEMCPY_1_SRC_LO__MASK = 0xffffffff
CP_MEMCPY_1_SRC_LO__SHIFT = 0
REG_CP_MEMCPY_2 = 0x00000002
CP_MEMCPY_2_SRC_HI__MASK = 0xffffffff
CP_MEMCPY_2_SRC_HI__SHIFT = 0
REG_CP_MEMCPY_3 = 0x00000003
CP_MEMCPY_3_DST_LO__MASK = 0xffffffff
CP_MEMCPY_3_DST_LO__SHIFT = 0
REG_CP_MEMCPY_4 = 0x00000004
CP_MEMCPY_4_DST_HI__MASK = 0xffffffff
CP_MEMCPY_4_DST_HI__SHIFT = 0
REG_CP_REG_TO_SCRATCH_0 = 0x00000000
CP_REG_TO_SCRATCH_0_REG__MASK = 0x0003ffff
CP_REG_TO_SCRATCH_0_REG__SHIFT = 0
CP_REG_TO_SCRATCH_0_SCRATCH__MASK = 0x00700000
CP_REG_TO_SCRATCH_0_SCRATCH__SHIFT = 20
CP_REG_TO_SCRATCH_0_CNT__MASK = 0x07000000
CP_REG_TO_SCRATCH_0_CNT__SHIFT = 24
CP_REG_TO_SCRATCH_0_SKIP_WAIT_FOR_ME = 0x08000000
REG_CP_SCRATCH_TO_REG_0 = 0x00000000
CP_SCRATCH_TO_REG_0_REG__MASK = 0x0003ffff
CP_SCRATCH_TO_REG_0_REG__SHIFT = 0
CP_SCRATCH_TO_REG_0_UNK18 = 0x00040000
CP_SCRATCH_TO_REG_0_SCRATCH__MASK = 0x00700000
CP_SCRATCH_TO_REG_0_SCRATCH__SHIFT = 20
CP_SCRATCH_TO_REG_0_CNT__MASK = 0x07000000
CP_SCRATCH_TO_REG_0_CNT__SHIFT = 24
REG_CP_SCRATCH_WRITE_0 = 0x00000000
CP_SCRATCH_WRITE_0_SCRATCH__MASK = 0x00700000
CP_SCRATCH_WRITE_0_SCRATCH__SHIFT = 20
REG_CP_MEM_WRITE_0 = 0x00000000
CP_MEM_WRITE_0_ADDR_LO__MASK = 0xffffffff
CP_MEM_WRITE_0_ADDR_LO__SHIFT = 0
REG_CP_MEM_WRITE_1 = 0x00000001
CP_MEM_WRITE_1_ADDR_HI__MASK = 0xffffffff
CP_MEM_WRITE_1_ADDR_HI__SHIFT = 0
REG_CP_COND_WRITE_0 = 0x00000000
CP_COND_WRITE_0_FUNCTION__MASK = 0x00000007
CP_COND_WRITE_0_FUNCTION__SHIFT = 0
CP_COND_WRITE_0_POLL_MEMORY = 0x00000010
CP_COND_WRITE_0_WRITE_MEMORY = 0x00000100
REG_CP_COND_WRITE_1 = 0x00000001
CP_COND_WRITE_1_POLL_ADDR__MASK = 0xffffffff
CP_COND_WRITE_1_POLL_ADDR__SHIFT = 0
REG_CP_COND_WRITE_2 = 0x00000002
CP_COND_WRITE_2_REF__MASK = 0xffffffff
CP_COND_WRITE_2_REF__SHIFT = 0
REG_CP_COND_WRITE_3 = 0x00000003
CP_COND_WRITE_3_MASK__MASK = 0xffffffff
CP_COND_WRITE_3_MASK__SHIFT = 0
REG_CP_COND_WRITE_4 = 0x00000004
CP_COND_WRITE_4_WRITE_ADDR__MASK = 0xffffffff
CP_COND_WRITE_4_WRITE_ADDR__SHIFT = 0
REG_CP_COND_WRITE_5 = 0x00000005
CP_COND_WRITE_5_WRITE_DATA__MASK = 0xffffffff
CP_COND_WRITE_5_WRITE_DATA__SHIFT = 0
REG_CP_COND_WRITE5_0 = 0x00000000
CP_COND_WRITE5_0_FUNCTION__MASK = 0x00000007
CP_COND_WRITE5_0_FUNCTION__SHIFT = 0
CP_COND_WRITE5_0_SIGNED_COMPARE = 0x00000008
CP_COND_WRITE5_0_POLL__MASK = 0x00000030
CP_COND_WRITE5_0_POLL__SHIFT = 4
CP_COND_WRITE5_0_WRITE_MEMORY = 0x00000100
REG_CP_COND_WRITE5_1 = 0x00000001
CP_COND_WRITE5_1_POLL_ADDR_LO__MASK = 0xffffffff
CP_COND_WRITE5_1_POLL_ADDR_LO__SHIFT = 0
REG_CP_COND_WRITE5_2 = 0x00000002
CP_COND_WRITE5_2_POLL_ADDR_HI__MASK = 0xffffffff
CP_COND_WRITE5_2_POLL_ADDR_HI__SHIFT = 0
REG_CP_COND_WRITE5_3 = 0x00000003
CP_COND_WRITE5_3_REF__MASK = 0xffffffff
CP_COND_WRITE5_3_REF__SHIFT = 0
REG_CP_COND_WRITE5_4 = 0x00000004
CP_COND_WRITE5_4_MASK__MASK = 0xffffffff
CP_COND_WRITE5_4_MASK__SHIFT = 0
REG_CP_COND_WRITE5_5 = 0x00000005
CP_COND_WRITE5_5_WRITE_ADDR_LO__MASK = 0xffffffff
CP_COND_WRITE5_5_WRITE_ADDR_LO__SHIFT = 0
REG_CP_COND_WRITE5_6 = 0x00000006
CP_COND_WRITE5_6_WRITE_ADDR_HI__MASK = 0xffffffff
CP_COND_WRITE5_6_WRITE_ADDR_HI__SHIFT = 0
REG_CP_COND_WRITE5_7 = 0x00000007
CP_COND_WRITE5_7_WRITE_DATA__MASK = 0xffffffff
CP_COND_WRITE5_7_WRITE_DATA__SHIFT = 0
REG_CP_WAIT_MEM_GTE_0 = 0x00000000
CP_WAIT_MEM_GTE_0_RESERVED__MASK = 0xffffffff
CP_WAIT_MEM_GTE_0_RESERVED__SHIFT = 0
REG_CP_WAIT_MEM_GTE_1 = 0x00000001
CP_WAIT_MEM_GTE_1_POLL_ADDR_LO__MASK = 0xffffffff
CP_WAIT_MEM_GTE_1_POLL_ADDR_LO__SHIFT = 0
REG_CP_WAIT_MEM_GTE_2 = 0x00000002
CP_WAIT_MEM_GTE_2_POLL_ADDR_HI__MASK = 0xffffffff
CP_WAIT_MEM_GTE_2_POLL_ADDR_HI__SHIFT = 0
REG_CP_WAIT_MEM_GTE_3 = 0x00000003
CP_WAIT_MEM_GTE_3_REF__MASK = 0xffffffff
CP_WAIT_MEM_GTE_3_REF__SHIFT = 0
REG_CP_WAIT_REG_MEM_0 = 0x00000000
CP_WAIT_REG_MEM_0_FUNCTION__MASK = 0x00000007
CP_WAIT_REG_MEM_0_FUNCTION__SHIFT = 0
CP_WAIT_REG_MEM_0_SIGNED_COMPARE = 0x00000008
CP_WAIT_REG_MEM_0_POLL__MASK = 0x00000030
CP_WAIT_REG_MEM_0_POLL__SHIFT = 4
CP_WAIT_REG_MEM_0_WRITE_MEMORY = 0x00000100
REG_CP_WAIT_REG_MEM_1 = 0x00000001
CP_WAIT_REG_MEM_1_POLL_ADDR_LO__MASK = 0xffffffff
CP_WAIT_REG_MEM_1_POLL_ADDR_LO__SHIFT = 0
REG_CP_WAIT_REG_MEM_2 = 0x00000002
CP_WAIT_REG_MEM_2_POLL_ADDR_HI__MASK = 0xffffffff
CP_WAIT_REG_MEM_2_POLL_ADDR_HI__SHIFT = 0
REG_CP_WAIT_REG_MEM_3 = 0x00000003
CP_WAIT_REG_MEM_3_REF__MASK = 0xffffffff
CP_WAIT_REG_MEM_3_REF__SHIFT = 0
REG_CP_WAIT_REG_MEM_4 = 0x00000004
CP_WAIT_REG_MEM_4_MASK__MASK = 0xffffffff
CP_WAIT_REG_MEM_4_MASK__SHIFT = 0
REG_CP_WAIT_REG_MEM_5 = 0x00000005
CP_WAIT_REG_MEM_5_DELAY_LOOP_CYCLES__MASK = 0xffffffff
CP_WAIT_REG_MEM_5_DELAY_LOOP_CYCLES__SHIFT = 0
REG_CP_WAIT_TWO_REGS_0 = 0x00000000
CP_WAIT_TWO_REGS_0_REG0__MASK = 0x0003ffff
CP_WAIT_TWO_REGS_0_REG0__SHIFT = 0
REG_CP_WAIT_TWO_REGS_1 = 0x00000001
CP_WAIT_TWO_REGS_1_REG1__MASK = 0x0003ffff
CP_WAIT_TWO_REGS_1_REG1__SHIFT = 0
REG_CP_WAIT_TWO_REGS_2 = 0x00000002
CP_WAIT_TWO_REGS_2_REF__MASK = 0xffffffff
CP_WAIT_TWO_REGS_2_REF__SHIFT = 0
REG_CP_DISPATCH_COMPUTE_0 = 0x00000000
REG_CP_DISPATCH_COMPUTE_1 = 0x00000001
CP_DISPATCH_COMPUTE_1_X__MASK = 0xffffffff
CP_DISPATCH_COMPUTE_1_X__SHIFT = 0
REG_CP_DISPATCH_COMPUTE_2 = 0x00000002
CP_DISPATCH_COMPUTE_2_Y__MASK = 0xffffffff
CP_DISPATCH_COMPUTE_2_Y__SHIFT = 0
REG_CP_DISPATCH_COMPUTE_3 = 0x00000003
CP_DISPATCH_COMPUTE_3_Z__MASK = 0xffffffff
CP_DISPATCH_COMPUTE_3_Z__SHIFT = 0
REG_CP_SET_RENDER_MODE_0 = 0x00000000
CP_SET_RENDER_MODE_0_MODE__MASK = 0x000001ff
CP_SET_RENDER_MODE_0_MODE__SHIFT = 0
REG_CP_SET_RENDER_MODE_1 = 0x00000001
CP_SET_RENDER_MODE_1_ADDR_0_LO__MASK = 0xffffffff
CP_SET_RENDER_MODE_1_ADDR_0_LO__SHIFT = 0
REG_CP_SET_RENDER_MODE_2 = 0x00000002
CP_SET_RENDER_MODE_2_ADDR_0_HI__MASK = 0xffffffff
CP_SET_RENDER_MODE_2_ADDR_0_HI__SHIFT = 0
REG_CP_SET_RENDER_MODE_3 = 0x00000003
CP_SET_RENDER_MODE_3_VSC_ENABLE = 0x00000008
CP_SET_RENDER_MODE_3_GMEM_ENABLE = 0x00000010
REG_CP_SET_RENDER_MODE_4 = 0x00000004
REG_CP_SET_RENDER_MODE_5 = 0x00000005
CP_SET_RENDER_MODE_5_ADDR_1_LEN__MASK = 0xffffffff
CP_SET_RENDER_MODE_5_ADDR_1_LEN__SHIFT = 0
REG_CP_SET_RENDER_MODE_6 = 0x00000006
CP_SET_RENDER_MODE_6_ADDR_1_LO__MASK = 0xffffffff
CP_SET_RENDER_MODE_6_ADDR_1_LO__SHIFT = 0
REG_CP_SET_RENDER_MODE_7 = 0x00000007
CP_SET_RENDER_MODE_7_ADDR_1_HI__MASK = 0xffffffff
CP_SET_RENDER_MODE_7_ADDR_1_HI__SHIFT = 0
REG_CP_COMPUTE_CHECKPOINT_0 = 0x00000000
CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__MASK = 0xffffffff
CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__SHIFT = 0
REG_CP_COMPUTE_CHECKPOINT_1 = 0x00000001
CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__MASK = 0xffffffff
CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__SHIFT = 0
REG_CP_COMPUTE_CHECKPOINT_2 = 0x00000002
REG_CP_COMPUTE_CHECKPOINT_3 = 0x00000003
REG_CP_COMPUTE_CHECKPOINT_4 = 0x00000004
CP_COMPUTE_CHECKPOINT_4_ADDR_1_LEN__MASK = 0xffffffff
CP_COMPUTE_CHECKPOINT_4_ADDR_1_LEN__SHIFT = 0
REG_CP_COMPUTE_CHECKPOINT_5 = 0x00000005
CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__MASK = 0xffffffff
CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__SHIFT = 0
REG_CP_COMPUTE_CHECKPOINT_6 = 0x00000006
CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__MASK = 0xffffffff
CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__SHIFT = 0
REG_CP_COMPUTE_CHECKPOINT_7 = 0x00000007
REG_CP_PERFCOUNTER_ACTION_0 = 0x00000000
REG_CP_PERFCOUNTER_ACTION_1 = 0x00000001
CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__MASK = 0xffffffff
CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__SHIFT = 0
REG_CP_PERFCOUNTER_ACTION_2 = 0x00000002
CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__MASK = 0xffffffff
CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__SHIFT = 0
REG_CP_EVENT_WRITE_0 = 0x00000000
CP_EVENT_WRITE_0_EVENT__MASK = 0x000000ff
CP_EVENT_WRITE_0_EVENT__SHIFT = 0
CP_EVENT_WRITE_0_TIMESTAMP = 0x40000000
CP_EVENT_WRITE_0_IRQ = 0x80000000
REG_CP_EVENT_WRITE_1 = 0x00000001
CP_EVENT_WRITE_1_ADDR_0_LO__MASK = 0xffffffff
CP_EVENT_WRITE_1_ADDR_0_LO__SHIFT = 0
REG_CP_EVENT_WRITE_2 = 0x00000002
CP_EVENT_WRITE_2_ADDR_0_HI__MASK = 0xffffffff
CP_EVENT_WRITE_2_ADDR_0_HI__SHIFT = 0
REG_CP_EVENT_WRITE_3 = 0x00000003
REG_CP_EVENT_WRITE7_0 = 0x00000000
CP_EVENT_WRITE7_0_EVENT__MASK = 0x000000ff
CP_EVENT_WRITE7_0_EVENT__SHIFT = 0
CP_EVENT_WRITE7_0_WRITE_SAMPLE_COUNT = 0x00001000
CP_EVENT_WRITE7_0_SAMPLE_COUNT_END_OFFSET = 0x00002000
CP_EVENT_WRITE7_0_WRITE_ACCUM_SAMPLE_COUNT_DIFF = 0x00004000
CP_EVENT_WRITE7_0_INC_BV_COUNT = 0x00010000
CP_EVENT_WRITE7_0_INC_BR_COUNT = 0x00020000
CP_EVENT_WRITE7_0_CLEAR_RENDER_RESOURCE = 0x00040000
CP_EVENT_WRITE7_0_CLEAR_LRZ_RESOURCE = 0x00080000
CP_EVENT_WRITE7_0_WRITE_SRC__MASK = 0x00700000
CP_EVENT_WRITE7_0_WRITE_SRC__SHIFT = 20
CP_EVENT_WRITE7_0_WRITE_DST__MASK = 0x01000000
CP_EVENT_WRITE7_0_WRITE_DST__SHIFT = 24
CP_EVENT_WRITE7_0_WRITE_ENABLED = 0x08000000
CP_EVENT_WRITE7_0_IRQ = 0x80000000
REG_EV_DST_RAM_CP_EVENT_WRITE7_1 = 0x00000001
REG_EV_DST_RAM_CP_EVENT_WRITE7_3 = 0x00000003
EV_DST_RAM_CP_EVENT_WRITE7_3_PAYLOAD_0__MASK = 0xffffffff
EV_DST_RAM_CP_EVENT_WRITE7_3_PAYLOAD_0__SHIFT = 0
REG_EV_DST_RAM_CP_EVENT_WRITE7_4 = 0x00000004
EV_DST_RAM_CP_EVENT_WRITE7_4_PAYLOAD_1__MASK = 0xffffffff
EV_DST_RAM_CP_EVENT_WRITE7_4_PAYLOAD_1__SHIFT = 0
REG_EV_DST_ONCHIP_CP_EVENT_WRITE7_1 = 0x00000001
EV_DST_ONCHIP_CP_EVENT_WRITE7_1_ONCHIP_ADDR_0__MASK = 0xffffffff
EV_DST_ONCHIP_CP_EVENT_WRITE7_1_ONCHIP_ADDR_0__SHIFT = 0
REG_EV_DST_ONCHIP_CP_EVENT_WRITE7_3 = 0x00000003
EV_DST_ONCHIP_CP_EVENT_WRITE7_3_PAYLOAD_0__MASK = 0xffffffff
EV_DST_ONCHIP_CP_EVENT_WRITE7_3_PAYLOAD_0__SHIFT = 0
REG_EV_DST_ONCHIP_CP_EVENT_WRITE7_4 = 0x00000004
EV_DST_ONCHIP_CP_EVENT_WRITE7_4_PAYLOAD_1__MASK = 0xffffffff
EV_DST_ONCHIP_CP_EVENT_WRITE7_4_PAYLOAD_1__SHIFT = 0
REG_CP_BLIT_0 = 0x00000000
CP_BLIT_0_OP__MASK = 0x0000000f
CP_BLIT_0_OP__SHIFT = 0
REG_CP_BLIT_1 = 0x00000001
CP_BLIT_1_SRC_X1__MASK = 0x00003fff
CP_BLIT_1_SRC_X1__SHIFT = 0
CP_BLIT_1_SRC_Y1__MASK = 0x3fff0000
CP_BLIT_1_SRC_Y1__SHIFT = 16
REG_CP_BLIT_2 = 0x00000002
CP_BLIT_2_SRC_X2__MASK = 0x00003fff
CP_BLIT_2_SRC_X2__SHIFT = 0
CP_BLIT_2_SRC_Y2__MASK = 0x3fff0000
CP_BLIT_2_SRC_Y2__SHIFT = 16
REG_CP_BLIT_3 = 0x00000003
CP_BLIT_3_DST_X1__MASK = 0x00003fff
CP_BLIT_3_DST_X1__SHIFT = 0
CP_BLIT_3_DST_Y1__MASK = 0x3fff0000
CP_BLIT_3_DST_Y1__SHIFT = 16
REG_CP_BLIT_4 = 0x00000004
CP_BLIT_4_DST_X2__MASK = 0x00003fff
CP_BLIT_4_DST_X2__SHIFT = 0
CP_BLIT_4_DST_Y2__MASK = 0x3fff0000
CP_BLIT_4_DST_Y2__SHIFT = 16
REG_CP_EXEC_CS_0 = 0x00000000
REG_CP_EXEC_CS_1 = 0x00000001
CP_EXEC_CS_1_NGROUPS_X__MASK = 0xffffffff
CP_EXEC_CS_1_NGROUPS_X__SHIFT = 0
REG_CP_EXEC_CS_2 = 0x00000002
CP_EXEC_CS_2_NGROUPS_Y__MASK = 0xffffffff
CP_EXEC_CS_2_NGROUPS_Y__SHIFT = 0
REG_CP_EXEC_CS_3 = 0x00000003
CP_EXEC_CS_3_NGROUPS_Z__MASK = 0xffffffff
CP_EXEC_CS_3_NGROUPS_Z__SHIFT = 0
REG_A4XX_CP_EXEC_CS_INDIRECT_0 = 0x00000000
REG_A4XX_CP_EXEC_CS_INDIRECT_1 = 0x00000001
A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__MASK = 0xffffffff
A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__SHIFT = 0
REG_A4XX_CP_EXEC_CS_INDIRECT_2 = 0x00000002
A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__MASK = 0x00000ffc
A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__SHIFT = 2
A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__MASK = 0x003ff000
A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__SHIFT = 12
A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__MASK = 0xffc00000
A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__SHIFT = 22
REG_A5XX_CP_EXEC_CS_INDIRECT_1 = 0x00000001
A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK = 0xffffffff
A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT = 0
REG_A5XX_CP_EXEC_CS_INDIRECT_2 = 0x00000002
A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK = 0xffffffff
A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT = 0
REG_A5XX_CP_EXEC_CS_INDIRECT_3 = 0x00000003
A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK = 0x00000ffc
A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT = 2
A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK = 0x003ff000
A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT = 12
A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK = 0xffc00000
A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT = 22
REG_A6XX_CP_SET_MARKER_0 = 0x00000000
A6XX_CP_SET_MARKER_0_MARKER_MODE__MASK = 0x00000100
A6XX_CP_SET_MARKER_0_MARKER_MODE__SHIFT = 8
A6XX_CP_SET_MARKER_0_MODE__MASK = 0x0000000f
A6XX_CP_SET_MARKER_0_MODE__SHIFT = 0
A6XX_CP_SET_MARKER_0_USES_GMEM = 0x00000010
A6XX_CP_SET_MARKER_0_IFPC_MODE__MASK = 0x00000001
A6XX_CP_SET_MARKER_0_IFPC_MODE__SHIFT = 0
A6XX_CP_SET_MARKER_0_SHADER_USES_RT = 0x00000200
A6XX_CP_SET_MARKER_0_RT_WA_START = 0x00000400
A6XX_CP_SET_MARKER_0_RT_WA_END = 0x00000800
REG_A6XX_CP_SET_PSEUDO_REG_ = lambda i0: (0x00000000 + 0x3*i0 ) # type: ignore
A6XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__MASK = 0x000007ff
A6XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__SHIFT = 0
A6XX_CP_SET_PSEUDO_REG__1_LO__MASK = 0xffffffff
A6XX_CP_SET_PSEUDO_REG__1_LO__SHIFT = 0
A6XX_CP_SET_PSEUDO_REG__2_HI__MASK = 0xffffffff
A6XX_CP_SET_PSEUDO_REG__2_HI__SHIFT = 0
REG_A6XX_CP_REG_TEST_0 = 0x00000000
A6XX_CP_REG_TEST_0_REG__MASK = 0x0003ffff
A6XX_CP_REG_TEST_0_REG__SHIFT = 0
A6XX_CP_REG_TEST_0_SCRATCH_MEM_OFFSET__MASK = 0x0003ffff
A6XX_CP_REG_TEST_0_SCRATCH_MEM_OFFSET__SHIFT = 0
A6XX_CP_REG_TEST_0_SOURCE__MASK = 0x00040000
A6XX_CP_REG_TEST_0_SOURCE__SHIFT = 18
A6XX_CP_REG_TEST_0_BIT__MASK = 0x01f00000
A6XX_CP_REG_TEST_0_BIT__SHIFT = 20
A6XX_CP_REG_TEST_0_SKIP_WAIT_FOR_ME = 0x02000000
A6XX_CP_REG_TEST_0_PRED_BIT__MASK = 0x7c000000
A6XX_CP_REG_TEST_0_PRED_BIT__SHIFT = 26
A6XX_CP_REG_TEST_0_PRED_UPDATE = 0x80000000
REG_A6XX_CP_REG_TEST_PRED_MASK = 0x00000001
REG_A6XX_CP_REG_TEST_PRED_VAL = 0x00000002
REG_CP_COND_REG_EXEC_0 = 0x00000000
CP_COND_REG_EXEC_0_REG0__MASK = 0x0003ffff
CP_COND_REG_EXEC_0_REG0__SHIFT = 0
CP_COND_REG_EXEC_0_PRED_BIT__MASK = 0x007c0000
CP_COND_REG_EXEC_0_PRED_BIT__SHIFT = 18
CP_COND_REG_EXEC_0_SKIP_WAIT_FOR_ME = 0x00800000
CP_COND_REG_EXEC_0_ONCHIP_MEM = 0x01000000
CP_COND_REG_EXEC_0_BINNING = 0x02000000
CP_COND_REG_EXEC_0_GMEM = 0x04000000
CP_COND_REG_EXEC_0_SYSMEM = 0x08000000
CP_COND_REG_EXEC_0_BV = 0x02000000
CP_COND_REG_EXEC_0_BR = 0x04000000
CP_COND_REG_EXEC_0_LPAC = 0x08000000
CP_COND_REG_EXEC_0_MODE__MASK = 0xf0000000
CP_COND_REG_EXEC_0_MODE__SHIFT = 28
REG_PRED_TEST_CP_COND_REG_EXEC_1 = 0x00000001
PRED_TEST_CP_COND_REG_EXEC_1_DWORDS__MASK = 0x00ffffff
PRED_TEST_CP_COND_REG_EXEC_1_DWORDS__SHIFT = 0
REG_REG_COMPARE_CP_COND_REG_EXEC_1 = 0x00000001
REG_COMPARE_CP_COND_REG_EXEC_1_REG1__MASK = 0x0003ffff
REG_COMPARE_CP_COND_REG_EXEC_1_REG1__SHIFT = 0
REG_COMPARE_CP_COND_REG_EXEC_1_ONCHIP_MEM = 0x01000000
REG_RENDER_MODE_CP_COND_REG_EXEC_1 = 0x00000001
RENDER_MODE_CP_COND_REG_EXEC_1_DWORDS__MASK = 0x00ffffff
RENDER_MODE_CP_COND_REG_EXEC_1_DWORDS__SHIFT = 0
REG_REG_COMPARE_IMM_CP_COND_REG_EXEC_1 = 0x00000001
REG_COMPARE_IMM_CP_COND_REG_EXEC_1_IMM__MASK = 0xffffffff
REG_COMPARE_IMM_CP_COND_REG_EXEC_1_IMM__SHIFT = 0
REG_THREAD_MODE_CP_COND_REG_EXEC_1 = 0x00000001
THREAD_MODE_CP_COND_REG_EXEC_1_DWORDS__MASK = 0x00ffffff
THREAD_MODE_CP_COND_REG_EXEC_1_DWORDS__SHIFT = 0
REG_CP_COND_REG_EXEC_2 = 0x00000002
CP_COND_REG_EXEC_2_DWORDS__MASK = 0x00ffffff
CP_COND_REG_EXEC_2_DWORDS__SHIFT = 0
REG_CP_COND_EXEC_0 = 0x00000000
CP_COND_EXEC_0_ADDR0_LO__MASK = 0xffffffff
CP_COND_EXEC_0_ADDR0_LO__SHIFT = 0
REG_CP_COND_EXEC_1 = 0x00000001
CP_COND_EXEC_1_ADDR0_HI__MASK = 0xffffffff
CP_COND_EXEC_1_ADDR0_HI__SHIFT = 0
REG_CP_COND_EXEC_2 = 0x00000002
CP_COND_EXEC_2_ADDR1_LO__MASK = 0xffffffff
CP_COND_EXEC_2_ADDR1_LO__SHIFT = 0
REG_CP_COND_EXEC_3 = 0x00000003
CP_COND_EXEC_3_ADDR1_HI__MASK = 0xffffffff
CP_COND_EXEC_3_ADDR1_HI__SHIFT = 0
REG_CP_COND_EXEC_4 = 0x00000004
CP_COND_EXEC_4_REF__MASK = 0xffffffff
CP_COND_EXEC_4_REF__SHIFT = 0
REG_CP_COND_EXEC_5 = 0x00000005
CP_COND_EXEC_5_DWORDS__MASK = 0xffffffff
CP_COND_EXEC_5_DWORDS__SHIFT = 0
REG_CP_SET_AMBLE_0 = 0x00000000
CP_SET_AMBLE_0_ADDR_LO__MASK = 0xffffffff
CP_SET_AMBLE_0_ADDR_LO__SHIFT = 0
REG_CP_SET_AMBLE_1 = 0x00000001
CP_SET_AMBLE_1_ADDR_HI__MASK = 0xffffffff
CP_SET_AMBLE_1_ADDR_HI__SHIFT = 0
REG_CP_SET_AMBLE_2 = 0x00000002
CP_SET_AMBLE_2_DWORDS__MASK = 0x000fffff
CP_SET_AMBLE_2_DWORDS__SHIFT = 0
CP_SET_AMBLE_2_TYPE__MASK = 0x00300000
CP_SET_AMBLE_2_TYPE__SHIFT = 20
REG_CP_REG_WRITE_0 = 0x00000000
CP_REG_WRITE_0_TRACKER__MASK = 0x0000000f
CP_REG_WRITE_0_TRACKER__SHIFT = 0
REG_CP_REG_WRITE_1 = 0x00000001
REG_CP_REG_WRITE_2 = 0x00000002
REG_CP_SMMU_TABLE_UPDATE_0 = 0x00000000
CP_SMMU_TABLE_UPDATE_0_TTBR0_LO__MASK = 0xffffffff
CP_SMMU_TABLE_UPDATE_0_TTBR0_LO__SHIFT = 0
REG_CP_SMMU_TABLE_UPDATE_1 = 0x00000001
CP_SMMU_TABLE_UPDATE_1_TTBR0_HI__MASK = 0x0000ffff
CP_SMMU_TABLE_UPDATE_1_TTBR0_HI__SHIFT = 0
CP_SMMU_TABLE_UPDATE_1_ASID__MASK = 0xffff0000
CP_SMMU_TABLE_UPDATE_1_ASID__SHIFT = 16
REG_CP_SMMU_TABLE_UPDATE_2 = 0x00000002
CP_SMMU_TABLE_UPDATE_2_CONTEXTIDR__MASK = 0xffffffff
CP_SMMU_TABLE_UPDATE_2_CONTEXTIDR__SHIFT = 0
REG_CP_SMMU_TABLE_UPDATE_3 = 0x00000003
CP_SMMU_TABLE_UPDATE_3_CONTEXTBANK__MASK = 0xffffffff
CP_SMMU_TABLE_UPDATE_3_CONTEXTBANK__SHIFT = 0
REG_CP_START_BIN_BIN_COUNT = 0x00000000
REG_CP_START_BIN_PREFIX_ADDR = 0x00000001
REG_CP_START_BIN_PREFIX_DWORDS = 0x00000003
REG_CP_START_BIN_BODY_DWORDS = 0x00000004
REG_CP_WAIT_TIMESTAMP_0 = 0x00000000
CP_WAIT_TIMESTAMP_0_WAIT_VALUE_SRC__MASK = 0x00000003
CP_WAIT_TIMESTAMP_0_WAIT_VALUE_SRC__SHIFT = 0
CP_WAIT_TIMESTAMP_0_WAIT_DST__MASK = 0x00000010
CP_WAIT_TIMESTAMP_0_WAIT_DST__SHIFT = 4
REG_TS_WAIT_RAM_CP_WAIT_TIMESTAMP_ADDR = 0x00000001
REG_TS_WAIT_ONCHIP_CP_WAIT_TIMESTAMP_ONCHIP_ADDR_0 = 0x00000001
REG_CP_WAIT_TIMESTAMP_SRC_0 = 0x00000003
REG_CP_WAIT_TIMESTAMP_SRC_1 = 0x00000004
REG_CP_BV_BR_COUNT_OPS_0 = 0x00000000
CP_BV_BR_COUNT_OPS_0_OP__MASK = 0x0000000f
CP_BV_BR_COUNT_OPS_0_OP__SHIFT = 0
REG_CP_BV_BR_COUNT_OPS_1 = 0x00000001
CP_BV_BR_COUNT_OPS_1_BR_OFFSET__MASK = 0x0000ffff
CP_BV_BR_COUNT_OPS_1_BR_OFFSET__SHIFT = 0
REG_CP_MODIFY_TIMESTAMP_0 = 0x00000000
CP_MODIFY_TIMESTAMP_0_ADD__MASK = 0x000000ff
CP_MODIFY_TIMESTAMP_0_ADD__SHIFT = 0
CP_MODIFY_TIMESTAMP_0_OP__MASK = 0xf0000000
CP_MODIFY_TIMESTAMP_0_OP__SHIFT = 28
REG_CP_MEM_TO_SCRATCH_MEM_0 = 0x00000000
CP_MEM_TO_SCRATCH_MEM_0_CNT__MASK = 0x0000003f
CP_MEM_TO_SCRATCH_MEM_0_CNT__SHIFT = 0
REG_CP_MEM_TO_SCRATCH_MEM_1 = 0x00000001
CP_MEM_TO_SCRATCH_MEM_1_OFFSET__MASK = 0x0000003f
CP_MEM_TO_SCRATCH_MEM_1_OFFSET__SHIFT = 0
REG_CP_MEM_TO_SCRATCH_MEM_2 = 0x00000002
CP_MEM_TO_SCRATCH_MEM_2_SRC__MASK = 0xffffffff
CP_MEM_TO_SCRATCH_MEM_2_SRC__SHIFT = 0
REG_CP_MEM_TO_SCRATCH_MEM_3 = 0x00000003
CP_MEM_TO_SCRATCH_MEM_3_SRC_HI__MASK = 0xffffffff
CP_MEM_TO_SCRATCH_MEM_3_SRC_HI__SHIFT = 0
REG_CP_THREAD_CONTROL_0 = 0x00000000
CP_THREAD_CONTROL_0_THREAD__MASK = 0x00000003
CP_THREAD_CONTROL_0_THREAD__SHIFT = 0
CP_THREAD_CONTROL_0_CONCURRENT_BIN_DISABLE = 0x08000000
CP_THREAD_CONTROL_0_SYNC_THREADS = 0x80000000
REG_CP_FIXED_STRIDE_DRAW_TABLE_IB_BASE = 0x00000000
REG_CP_FIXED_STRIDE_DRAW_TABLE_2 = 0x00000002
CP_FIXED_STRIDE_DRAW_TABLE_2_IB_SIZE__MASK = 0x00000fff
CP_FIXED_STRIDE_DRAW_TABLE_2_IB_SIZE__SHIFT = 0
CP_FIXED_STRIDE_DRAW_TABLE_2_STRIDE__MASK = 0xfff00000
CP_FIXED_STRIDE_DRAW_TABLE_2_STRIDE__SHIFT = 20
REG_CP_FIXED_STRIDE_DRAW_TABLE_3 = 0x00000003
CP_FIXED_STRIDE_DRAW_TABLE_3_COUNT__MASK = 0xffffffff
CP_FIXED_STRIDE_DRAW_TABLE_3_COUNT__SHIFT = 0
REG_CP_RESET_CONTEXT_STATE_0 = 0x00000000
CP_RESET_CONTEXT_STATE_0_CLEAR_ON_CHIP_TS = 0x00000001
CP_RESET_CONTEXT_STATE_0_CLEAR_RESOURCE_TABLE = 0x00000002
CP_RESET_CONTEXT_STATE_0_CLEAR_BV_BR_COUNTER = 0x00000004
CP_RESET_CONTEXT_STATE_0_RESET_GLOBAL_LOCAL_TS = 0x00000008
REG_CP_SCOPE_CNTL_0 = 0x00000000
CP_SCOPE_CNTL_0_DISABLE_PREEMPTION = 0x00000001
CP_SCOPE_CNTL_0_SCOPE__MASK = 0xf0000000
CP_SCOPE_CNTL_0_SCOPE__SHIFT = 28
REG_A5XX_CP_INDIRECT_BUFFER_IB_BASE = 0x00000000
REG_A5XX_CP_INDIRECT_BUFFER_2 = 0x00000002
A5XX_CP_INDIRECT_BUFFER_2_IB_SIZE__MASK = 0x000fffff
A5XX_CP_INDIRECT_BUFFER_2_IB_SIZE__SHIFT = 0
__struct__cast = lambda X: (struct_X) # type: ignore
__struct__cast = lambda X: (struct_X) # type: ignore
REG_A6XX_TEX_SAMP_0 = 0x00000000
A6XX_TEX_SAMP_0_MIPFILTER_LINEAR_NEAR = 0x00000001
A6XX_TEX_SAMP_0_XY_MAG__MASK = 0x00000006
A6XX_TEX_SAMP_0_XY_MAG__SHIFT = 1
A6XX_TEX_SAMP_0_XY_MIN__MASK = 0x00000018
A6XX_TEX_SAMP_0_XY_MIN__SHIFT = 3
A6XX_TEX_SAMP_0_WRAP_S__MASK = 0x000000e0
A6XX_TEX_SAMP_0_WRAP_S__SHIFT = 5
A6XX_TEX_SAMP_0_WRAP_T__MASK = 0x00000700
A6XX_TEX_SAMP_0_WRAP_T__SHIFT = 8
A6XX_TEX_SAMP_0_WRAP_R__MASK = 0x00003800
A6XX_TEX_SAMP_0_WRAP_R__SHIFT = 11
A6XX_TEX_SAMP_0_ANISO__MASK = 0x0001c000
A6XX_TEX_SAMP_0_ANISO__SHIFT = 14
A6XX_TEX_SAMP_0_LOD_BIAS__MASK = 0xfff80000
A6XX_TEX_SAMP_0_LOD_BIAS__SHIFT = 19
REG_A6XX_TEX_SAMP_1 = 0x00000001
A6XX_TEX_SAMP_1_CLAMPENABLE = 0x00000001
A6XX_TEX_SAMP_1_COMPARE_FUNC__MASK = 0x0000000e
A6XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT = 1
A6XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF = 0x00000010
A6XX_TEX_SAMP_1_UNNORM_COORDS = 0x00000020
A6XX_TEX_SAMP_1_MIPFILTER_LINEAR_FAR = 0x00000040
A6XX_TEX_SAMP_1_MAX_LOD__MASK = 0x000fff00
A6XX_TEX_SAMP_1_MAX_LOD__SHIFT = 8
A6XX_TEX_SAMP_1_MIN_LOD__MASK = 0xfff00000
A6XX_TEX_SAMP_1_MIN_LOD__SHIFT = 20
REG_A6XX_TEX_SAMP_2 = 0x00000002
A6XX_TEX_SAMP_2_REDUCTION_MODE__MASK = 0x00000003
A6XX_TEX_SAMP_2_REDUCTION_MODE__SHIFT = 0
A6XX_TEX_SAMP_2_FASTBORDERCOLOR__MASK = 0x0000000c
A6XX_TEX_SAMP_2_FASTBORDERCOLOR__SHIFT = 2
A6XX_TEX_SAMP_2_FASTBORDERCOLOREN = 0x00000010
A6XX_TEX_SAMP_2_CHROMA_LINEAR = 0x00000020
A6XX_TEX_SAMP_2_BCOLOR__MASK = 0xffffff80
A6XX_TEX_SAMP_2_BCOLOR__SHIFT = 7
REG_A6XX_TEX_SAMP_3 = 0x00000003
REG_A6XX_TEX_CONST_0 = 0x00000000
A6XX_TEX_CONST_0_TILE_MODE__MASK = 0x00000003
A6XX_TEX_CONST_0_TILE_MODE__SHIFT = 0
A6XX_TEX_CONST_0_SRGB = 0x00000004
A6XX_TEX_CONST_0_SWIZ_X__MASK = 0x00000070
A6XX_TEX_CONST_0_SWIZ_X__SHIFT = 4
A6XX_TEX_CONST_0_SWIZ_Y__MASK = 0x00000380
A6XX_TEX_CONST_0_SWIZ_Y__SHIFT = 7
A6XX_TEX_CONST_0_SWIZ_Z__MASK = 0x00001c00
A6XX_TEX_CONST_0_SWIZ_Z__SHIFT = 10
A6XX_TEX_CONST_0_SWIZ_W__MASK = 0x0000e000
A6XX_TEX_CONST_0_SWIZ_W__SHIFT = 13
A6XX_TEX_CONST_0_MIPLVLS__MASK = 0x000f0000
A6XX_TEX_CONST_0_MIPLVLS__SHIFT = 16
A6XX_TEX_CONST_0_CHROMA_MIDPOINT_X = 0x00010000
A6XX_TEX_CONST_0_CHROMA_MIDPOINT_Y = 0x00040000
A6XX_TEX_CONST_0_SAMPLES__MASK = 0x00300000
A6XX_TEX_CONST_0_SAMPLES__SHIFT = 20
A6XX_TEX_CONST_0_FMT__MASK = 0x3fc00000
A6XX_TEX_CONST_0_FMT__SHIFT = 22
A6XX_TEX_CONST_0_SWAP__MASK = 0xc0000000
A6XX_TEX_CONST_0_SWAP__SHIFT = 30
REG_A6XX_TEX_CONST_1 = 0x00000001
A6XX_TEX_CONST_1_WIDTH__MASK = 0x00007fff
A6XX_TEX_CONST_1_WIDTH__SHIFT = 0
A6XX_TEX_CONST_1_HEIGHT__MASK = 0x3fff8000
A6XX_TEX_CONST_1_HEIGHT__SHIFT = 15
A6XX_TEX_CONST_1_MUTABLEEN = 0x80000000
REG_A6XX_TEX_CONST_2 = 0x00000002
A6XX_TEX_CONST_2_STRUCTSIZETEXELS__MASK = 0x0000fff0
A6XX_TEX_CONST_2_STRUCTSIZETEXELS__SHIFT = 4
A6XX_TEX_CONST_2_STARTOFFSETTEXELS__MASK = 0x003f0000
A6XX_TEX_CONST_2_STARTOFFSETTEXELS__SHIFT = 16
A6XX_TEX_CONST_2_PITCHALIGN__MASK = 0x0000000f
A6XX_TEX_CONST_2_PITCHALIGN__SHIFT = 0
A6XX_TEX_CONST_2_PITCH__MASK = 0x1fffff80
A6XX_TEX_CONST_2_PITCH__SHIFT = 7
A6XX_TEX_CONST_2_TYPE__MASK = 0xe0000000
A6XX_TEX_CONST_2_TYPE__SHIFT = 29
REG_A6XX_TEX_CONST_3 = 0x00000003
A6XX_TEX_CONST_3_ARRAY_PITCH__MASK = 0x007fffff
A6XX_TEX_CONST_3_ARRAY_PITCH__SHIFT = 0
A6XX_TEX_CONST_3_MIN_LAYERSZ__MASK = 0x07800000
A6XX_TEX_CONST_3_MIN_LAYERSZ__SHIFT = 23
A6XX_TEX_CONST_3_TILE_ALL = 0x08000000
A6XX_TEX_CONST_3_FLAG = 0x10000000
REG_A6XX_TEX_CONST_4 = 0x00000004
A6XX_TEX_CONST_4_BASE_LO__MASK = 0xffffffe0
A6XX_TEX_CONST_4_BASE_LO__SHIFT = 5
REG_A6XX_TEX_CONST_5 = 0x00000005
A6XX_TEX_CONST_5_BASE_HI__MASK = 0x0001ffff
A6XX_TEX_CONST_5_BASE_HI__SHIFT = 0
A6XX_TEX_CONST_5_DEPTH__MASK = 0x3ffe0000
A6XX_TEX_CONST_5_DEPTH__SHIFT = 17
REG_A6XX_TEX_CONST_6 = 0x00000006
A6XX_TEX_CONST_6_MIN_LOD_CLAMP__MASK = 0x00000fff
A6XX_TEX_CONST_6_MIN_LOD_CLAMP__SHIFT = 0
A6XX_TEX_CONST_6_PLANE_PITCH__MASK = 0xffffff00
A6XX_TEX_CONST_6_PLANE_PITCH__SHIFT = 8
REG_A6XX_TEX_CONST_7 = 0x00000007
A6XX_TEX_CONST_7_FLAG_LO__MASK = 0xffffffe0
A6XX_TEX_CONST_7_FLAG_LO__SHIFT = 5
REG_A6XX_TEX_CONST_8 = 0x00000008
A6XX_TEX_CONST_8_FLAG_HI__MASK = 0x0001ffff
A6XX_TEX_CONST_8_FLAG_HI__SHIFT = 0
REG_A6XX_TEX_CONST_9 = 0x00000009
A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH__MASK = 0x0001ffff
A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH__SHIFT = 0
REG_A6XX_TEX_CONST_10 = 0x0000000a
A6XX_TEX_CONST_10_FLAG_BUFFER_PITCH__MASK = 0x0000007f
A6XX_TEX_CONST_10_FLAG_BUFFER_PITCH__SHIFT = 0
A6XX_TEX_CONST_10_FLAG_BUFFER_LOGW__MASK = 0x00000f00
A6XX_TEX_CONST_10_FLAG_BUFFER_LOGW__SHIFT = 8
A6XX_TEX_CONST_10_FLAG_BUFFER_LOGH__MASK = 0x0000f000
A6XX_TEX_CONST_10_FLAG_BUFFER_LOGH__SHIFT = 12
REG_A6XX_TEX_CONST_11 = 0x0000000b
REG_A6XX_TEX_CONST_12 = 0x0000000c
REG_A6XX_TEX_CONST_13 = 0x0000000d
REG_A6XX_TEX_CONST_14 = 0x0000000e
REG_A6XX_TEX_CONST_15 = 0x0000000f
REG_A6XX_UBO_0 = 0x00000000
A6XX_UBO_0_BASE_LO__MASK = 0xffffffff
A6XX_UBO_0_BASE_LO__SHIFT = 0
REG_A6XX_UBO_1 = 0x00000001
A6XX_UBO_1_BASE_HI__MASK = 0x0001ffff
A6XX_UBO_1_BASE_HI__SHIFT = 0
A6XX_UBO_1_SIZE__MASK = 0xfffe0000
A6XX_UBO_1_SIZE__SHIFT = 17
lvp_nir_options = gzip.decompress(base64.b64decode("H4sIAAAAAAAAA2NgZGRkYGAAkYxgCsQFsxigwgwQBoxmhCqFq2WEKwIrAEGIkQxoAEMALwCqVsCiGUwLMHA0QPn29nBJkswHANb8YpH4AAAA"))