Files
StarPilot/tinygrad_repo/tinygrad/runtime/autogen/sqtt.py
T
firestar5683 22a8575199 Vendor dependencies and resources for standalone builds
Keep official openpilot ancestry and dependency licenses. Store resources directly in Git, remove LFS setup requirements, and leave the downloadable big model outside the source tree.
2026-10-03 21:01:18 +00:00

524 lines
38 KiB
Python

# 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
@c.record
class struct_sqtt_data_info(c.Struct):
SIZE = 12
cur_offset: int
trace_status: int
gfx9_write_counter: int
gfx10_dropped_cntr: int
uint32_t: TypeAlias = ctypes.c_uint32
struct_sqtt_data_info.register_fields([('cur_offset', uint32_t, 0), ('trace_status', uint32_t, 4), ('gfx9_write_counter', uint32_t, 8), ('gfx10_dropped_cntr', uint32_t, 8)])
@c.record
class struct_sqtt_data_se(c.Struct):
SIZE = 32
info: struct_sqtt_data_info
data_ptr: ctypes.c_void_p
shader_engine: int
compute_unit: int
struct_sqtt_data_se.register_fields([('info', struct_sqtt_data_info, 0), ('data_ptr', ctypes.c_void_p, 16), ('shader_engine', uint32_t, 24), ('compute_unit', uint32_t, 28)])
enum_sqtt_version: dict[int, str] = {(SQTT_VERSION_NONE:=0): 'SQTT_VERSION_NONE', (SQTT_VERSION_2_2:=5): 'SQTT_VERSION_2_2', (SQTT_VERSION_2_3:=6): 'SQTT_VERSION_2_3', (SQTT_VERSION_2_4:=7): 'SQTT_VERSION_2_4', (SQTT_VERSION_3_2:=11): 'SQTT_VERSION_3_2', (SQTT_VERSION_3_3:=12): 'SQTT_VERSION_3_3'}
enum_sqtt_file_chunk_type: dict[int, str] = {(SQTT_FILE_CHUNK_TYPE_ASIC_INFO:=0): 'SQTT_FILE_CHUNK_TYPE_ASIC_INFO', (SQTT_FILE_CHUNK_TYPE_SQTT_DESC:=1): 'SQTT_FILE_CHUNK_TYPE_SQTT_DESC', (SQTT_FILE_CHUNK_TYPE_SQTT_DATA:=2): 'SQTT_FILE_CHUNK_TYPE_SQTT_DATA', (SQTT_FILE_CHUNK_TYPE_API_INFO:=3): 'SQTT_FILE_CHUNK_TYPE_API_INFO', (SQTT_FILE_CHUNK_TYPE_RESERVED:=4): 'SQTT_FILE_CHUNK_TYPE_RESERVED', (SQTT_FILE_CHUNK_TYPE_QUEUE_EVENT_TIMINGS:=5): 'SQTT_FILE_CHUNK_TYPE_QUEUE_EVENT_TIMINGS', (SQTT_FILE_CHUNK_TYPE_CLOCK_CALIBRATION:=6): 'SQTT_FILE_CHUNK_TYPE_CLOCK_CALIBRATION', (SQTT_FILE_CHUNK_TYPE_CPU_INFO:=7): 'SQTT_FILE_CHUNK_TYPE_CPU_INFO', (SQTT_FILE_CHUNK_TYPE_SPM_DB:=8): 'SQTT_FILE_CHUNK_TYPE_SPM_DB', (SQTT_FILE_CHUNK_TYPE_CODE_OBJECT_DATABASE:=9): 'SQTT_FILE_CHUNK_TYPE_CODE_OBJECT_DATABASE', (SQTT_FILE_CHUNK_TYPE_CODE_OBJECT_LOADER_EVENTS:=10): 'SQTT_FILE_CHUNK_TYPE_CODE_OBJECT_LOADER_EVENTS', (SQTT_FILE_CHUNK_TYPE_PSO_CORRELATION:=11): 'SQTT_FILE_CHUNK_TYPE_PSO_CORRELATION', (SQTT_FILE_CHUNK_TYPE_INSTRUMENTATION_TABLE:=12): 'SQTT_FILE_CHUNK_TYPE_INSTRUMENTATION_TABLE', (SQTT_FILE_CHUNK_TYPE_COUNT:=13): 'SQTT_FILE_CHUNK_TYPE_COUNT'}
@c.record
class struct_sqtt_file_chunk_id(c.Struct):
SIZE = 4
type: int
index: int
reserved: int
int32_t: TypeAlias = ctypes.c_int32
struct_sqtt_file_chunk_id.register_fields([('type', int32_t, 0, 8, 0), ('index', int32_t, 1, 8, 0), ('reserved', int32_t, 2, 16, 0)])
@c.record
class struct_sqtt_file_chunk_header(c.Struct):
SIZE = 16
chunk_id: struct_sqtt_file_chunk_id
minor_version: int
major_version: int
size_in_bytes: int
padding: int
uint16_t: TypeAlias = ctypes.c_uint16
struct_sqtt_file_chunk_header.register_fields([('chunk_id', struct_sqtt_file_chunk_id, 0), ('minor_version', uint16_t, 4), ('major_version', uint16_t, 6), ('size_in_bytes', int32_t, 8), ('padding', int32_t, 12)])
@c.record
class struct_sqtt_file_header_flags(c.Struct):
SIZE = 4
is_semaphore_queue_timing_etw: int
no_queue_semaphore_timestamps: int
reserved: int
value: int
struct_sqtt_file_header_flags.register_fields([('is_semaphore_queue_timing_etw', uint32_t, 0, 1, 0), ('no_queue_semaphore_timestamps', uint32_t, 0, 1, 1), ('reserved', uint32_t, 0, 30, 2), ('value', uint32_t, 0)])
@c.record
class struct_sqtt_file_header(c.Struct):
SIZE = 56
magic_number: int
version_major: int
version_minor: int
flags: struct_sqtt_file_header_flags
chunk_offset: int
second: int
minute: int
hour: int
day_in_month: int
month: int
year: int
day_in_week: int
day_in_year: int
is_daylight_savings: int
struct_sqtt_file_header.register_fields([('magic_number', uint32_t, 0), ('version_major', uint32_t, 4), ('version_minor', uint32_t, 8), ('flags', struct_sqtt_file_header_flags, 12), ('chunk_offset', int32_t, 16), ('second', int32_t, 20), ('minute', int32_t, 24), ('hour', int32_t, 28), ('day_in_month', int32_t, 32), ('month', int32_t, 36), ('year', int32_t, 40), ('day_in_week', int32_t, 44), ('day_in_year', int32_t, 48), ('is_daylight_savings', int32_t, 52)])
@c.record
class struct_sqtt_file_chunk_cpu_info(c.Struct):
SIZE = 112
header: struct_sqtt_file_chunk_header
vendor_id: c.Array[ctypes.c_uint32, Literal[4]]
processor_brand: c.Array[ctypes.c_uint32, Literal[12]]
reserved: c.Array[ctypes.c_uint32, Literal[2]]
cpu_timestamp_freq: int
clock_speed: int
num_logical_cores: int
num_physical_cores: int
system_ram_size: int
uint64_t: TypeAlias = ctypes.c_uint64
struct_sqtt_file_chunk_cpu_info.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('vendor_id', c.Array[uint32_t, Literal[4]], 16), ('processor_brand', c.Array[uint32_t, Literal[12]], 32), ('reserved', c.Array[uint32_t, Literal[2]], 80), ('cpu_timestamp_freq', uint64_t, 88), ('clock_speed', uint32_t, 96), ('num_logical_cores', uint32_t, 100), ('num_physical_cores', uint32_t, 104), ('system_ram_size', uint32_t, 108)])
enum_sqtt_file_chunk_asic_info_flags: dict[int, str] = {(SQTT_FILE_CHUNK_ASIC_INFO_FLAG_SC_PACKER_NUMBERING:=1): 'SQTT_FILE_CHUNK_ASIC_INFO_FLAG_SC_PACKER_NUMBERING', (SQTT_FILE_CHUNK_ASIC_INFO_FLAG_PS1_EVENT_TOKENS_ENABLED:=2): 'SQTT_FILE_CHUNK_ASIC_INFO_FLAG_PS1_EVENT_TOKENS_ENABLED'}
enum_sqtt_gpu_type: dict[int, str] = {(SQTT_GPU_TYPE_UNKNOWN:=0): 'SQTT_GPU_TYPE_UNKNOWN', (SQTT_GPU_TYPE_INTEGRATED:=1): 'SQTT_GPU_TYPE_INTEGRATED', (SQTT_GPU_TYPE_DISCRETE:=2): 'SQTT_GPU_TYPE_DISCRETE', (SQTT_GPU_TYPE_VIRTUAL:=3): 'SQTT_GPU_TYPE_VIRTUAL'}
enum_sqtt_gfxip_level: dict[int, str] = {(SQTT_GFXIP_LEVEL_NONE:=0): 'SQTT_GFXIP_LEVEL_NONE', (SQTT_GFXIP_LEVEL_GFXIP_6:=1): 'SQTT_GFXIP_LEVEL_GFXIP_6', (SQTT_GFXIP_LEVEL_GFXIP_7:=2): 'SQTT_GFXIP_LEVEL_GFXIP_7', (SQTT_GFXIP_LEVEL_GFXIP_8:=3): 'SQTT_GFXIP_LEVEL_GFXIP_8', (SQTT_GFXIP_LEVEL_GFXIP_8_1:=4): 'SQTT_GFXIP_LEVEL_GFXIP_8_1', (SQTT_GFXIP_LEVEL_GFXIP_9:=5): 'SQTT_GFXIP_LEVEL_GFXIP_9', (SQTT_GFXIP_LEVEL_GFXIP_10_1:=7): 'SQTT_GFXIP_LEVEL_GFXIP_10_1', (SQTT_GFXIP_LEVEL_GFXIP_10_3:=9): 'SQTT_GFXIP_LEVEL_GFXIP_10_3', (SQTT_GFXIP_LEVEL_GFXIP_11_0:=12): 'SQTT_GFXIP_LEVEL_GFXIP_11_0', (SQTT_GFXIP_LEVEL_GFXIP_11_5:=13): 'SQTT_GFXIP_LEVEL_GFXIP_11_5', (SQTT_GFXIP_LEVEL_GFXIP_12:=16): 'SQTT_GFXIP_LEVEL_GFXIP_12'}
enum_sqtt_memory_type: dict[int, str] = {(SQTT_MEMORY_TYPE_UNKNOWN:=0): 'SQTT_MEMORY_TYPE_UNKNOWN', (SQTT_MEMORY_TYPE_DDR:=1): 'SQTT_MEMORY_TYPE_DDR', (SQTT_MEMORY_TYPE_DDR2:=2): 'SQTT_MEMORY_TYPE_DDR2', (SQTT_MEMORY_TYPE_DDR3:=3): 'SQTT_MEMORY_TYPE_DDR3', (SQTT_MEMORY_TYPE_DDR4:=4): 'SQTT_MEMORY_TYPE_DDR4', (SQTT_MEMORY_TYPE_DDR5:=5): 'SQTT_MEMORY_TYPE_DDR5', (SQTT_MEMORY_TYPE_GDDR3:=16): 'SQTT_MEMORY_TYPE_GDDR3', (SQTT_MEMORY_TYPE_GDDR4:=17): 'SQTT_MEMORY_TYPE_GDDR4', (SQTT_MEMORY_TYPE_GDDR5:=18): 'SQTT_MEMORY_TYPE_GDDR5', (SQTT_MEMORY_TYPE_GDDR6:=19): 'SQTT_MEMORY_TYPE_GDDR6', (SQTT_MEMORY_TYPE_HBM:=32): 'SQTT_MEMORY_TYPE_HBM', (SQTT_MEMORY_TYPE_HBM2:=33): 'SQTT_MEMORY_TYPE_HBM2', (SQTT_MEMORY_TYPE_HBM3:=34): 'SQTT_MEMORY_TYPE_HBM3', (SQTT_MEMORY_TYPE_LPDDR4:=48): 'SQTT_MEMORY_TYPE_LPDDR4', (SQTT_MEMORY_TYPE_LPDDR5:=49): 'SQTT_MEMORY_TYPE_LPDDR5'}
@c.record
class struct_sqtt_file_chunk_asic_info(c.Struct):
SIZE = 768
header: struct_sqtt_file_chunk_header
flags: int
trace_shader_core_clock: int
trace_memory_clock: int
device_id: int
device_revision_id: int
vgprs_per_simd: int
sgprs_per_simd: int
shader_engines: int
compute_unit_per_shader_engine: int
simd_per_compute_unit: int
wavefronts_per_simd: int
minimum_vgpr_alloc: int
vgpr_alloc_granularity: int
minimum_sgpr_alloc: int
sgpr_alloc_granularity: int
hardware_contexts: int
gpu_type: int
gfxip_level: int
gpu_index: int
gds_size: int
gds_per_shader_engine: int
ce_ram_size: int
ce_ram_size_graphics: int
ce_ram_size_compute: int
max_number_of_dedicated_cus: int
vram_size: int
vram_bus_width: int
l2_cache_size: int
l1_cache_size: int
lds_size: int
gpu_name: c.Array[ctypes.c_char, Literal[256]]
alu_per_clock: float
texture_per_clock: float
prims_per_clock: float
pixels_per_clock: float
gpu_timestamp_frequency: int
max_shader_core_clock: int
max_memory_clock: int
memory_ops_per_clock: int
memory_chip_type: int
lds_granularity: int
cu_mask: c.Array[c.Array[ctypes.c_uint16, Literal[2]], Literal[32]]
reserved1: c.Array[ctypes.c_char, Literal[128]]
active_pixel_packer_mask: c.Array[ctypes.c_uint32, Literal[4]]
reserved2: c.Array[ctypes.c_char, Literal[16]]
gl1_cache_size: int
instruction_cache_size: int
scalar_cache_size: int
mall_cache_size: int
padding: c.Array[ctypes.c_char, Literal[4]]
int64_t: TypeAlias = ctypes.c_int64
struct_sqtt_file_chunk_asic_info.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('flags', uint64_t, 16), ('trace_shader_core_clock', uint64_t, 24), ('trace_memory_clock', uint64_t, 32), ('device_id', int32_t, 40), ('device_revision_id', int32_t, 44), ('vgprs_per_simd', int32_t, 48), ('sgprs_per_simd', int32_t, 52), ('shader_engines', int32_t, 56), ('compute_unit_per_shader_engine', int32_t, 60), ('simd_per_compute_unit', int32_t, 64), ('wavefronts_per_simd', int32_t, 68), ('minimum_vgpr_alloc', int32_t, 72), ('vgpr_alloc_granularity', int32_t, 76), ('minimum_sgpr_alloc', int32_t, 80), ('sgpr_alloc_granularity', int32_t, 84), ('hardware_contexts', int32_t, 88), ('gpu_type', ctypes.c_uint32, 92), ('gfxip_level', ctypes.c_uint32, 96), ('gpu_index', int32_t, 100), ('gds_size', int32_t, 104), ('gds_per_shader_engine', int32_t, 108), ('ce_ram_size', int32_t, 112), ('ce_ram_size_graphics', int32_t, 116), ('ce_ram_size_compute', int32_t, 120), ('max_number_of_dedicated_cus', int32_t, 124), ('vram_size', int64_t, 128), ('vram_bus_width', int32_t, 136), ('l2_cache_size', int32_t, 140), ('l1_cache_size', int32_t, 144), ('lds_size', int32_t, 148), ('gpu_name', c.Array[ctypes.c_char, Literal[256]], 152), ('alu_per_clock', ctypes.c_float, 408), ('texture_per_clock', ctypes.c_float, 412), ('prims_per_clock', ctypes.c_float, 416), ('pixels_per_clock', ctypes.c_float, 420), ('gpu_timestamp_frequency', uint64_t, 424), ('max_shader_core_clock', uint64_t, 432), ('max_memory_clock', uint64_t, 440), ('memory_ops_per_clock', uint32_t, 448), ('memory_chip_type', ctypes.c_uint32, 452), ('lds_granularity', uint32_t, 456), ('cu_mask', c.Array[c.Array[uint16_t, Literal[2]], Literal[32]], 460), ('reserved1', c.Array[ctypes.c_char, Literal[128]], 588), ('active_pixel_packer_mask', c.Array[uint32_t, Literal[4]], 716), ('reserved2', c.Array[ctypes.c_char, Literal[16]], 732), ('gl1_cache_size', uint32_t, 748), ('instruction_cache_size', uint32_t, 752), ('scalar_cache_size', uint32_t, 756), ('mall_cache_size', uint32_t, 760), ('padding', c.Array[ctypes.c_char, Literal[4]], 764)])
enum_sqtt_api_type: dict[int, str] = {(SQTT_API_TYPE_DIRECTX_12:=0): 'SQTT_API_TYPE_DIRECTX_12', (SQTT_API_TYPE_VULKAN:=1): 'SQTT_API_TYPE_VULKAN', (SQTT_API_TYPE_GENERIC:=2): 'SQTT_API_TYPE_GENERIC', (SQTT_API_TYPE_OPENCL:=3): 'SQTT_API_TYPE_OPENCL'}
enum_sqtt_instruction_trace_mode: dict[int, str] = {(SQTT_INSTRUCTION_TRACE_DISABLED:=0): 'SQTT_INSTRUCTION_TRACE_DISABLED', (SQTT_INSTRUCTION_TRACE_FULL_FRAME:=1): 'SQTT_INSTRUCTION_TRACE_FULL_FRAME', (SQTT_INSTRUCTION_TRACE_API_PSO:=2): 'SQTT_INSTRUCTION_TRACE_API_PSO'}
enum_sqtt_profiling_mode: dict[int, str] = {(SQTT_PROFILING_MODE_PRESENT:=0): 'SQTT_PROFILING_MODE_PRESENT', (SQTT_PROFILING_MODE_USER_MARKERS:=1): 'SQTT_PROFILING_MODE_USER_MARKERS', (SQTT_PROFILING_MODE_INDEX:=2): 'SQTT_PROFILING_MODE_INDEX', (SQTT_PROFILING_MODE_TAG:=3): 'SQTT_PROFILING_MODE_TAG'}
@c.record
class union_sqtt_profiling_mode_data(c.Struct):
SIZE = 512
user_marker_profiling_data: union_sqtt_profiling_mode_data_user_marker_profiling_data
index_profiling_data: union_sqtt_profiling_mode_data_index_profiling_data
tag_profiling_data: union_sqtt_profiling_mode_data_tag_profiling_data
@c.record
class union_sqtt_profiling_mode_data_user_marker_profiling_data(c.Struct):
SIZE = 512
start: c.Array[ctypes.c_char, Literal[256]]
end: c.Array[ctypes.c_char, Literal[256]]
union_sqtt_profiling_mode_data_user_marker_profiling_data.register_fields([('start', c.Array[ctypes.c_char, Literal[256]], 0), ('end', c.Array[ctypes.c_char, Literal[256]], 256)])
@c.record
class union_sqtt_profiling_mode_data_index_profiling_data(c.Struct):
SIZE = 8
start: int
end: int
union_sqtt_profiling_mode_data_index_profiling_data.register_fields([('start', uint32_t, 0), ('end', uint32_t, 4)])
@c.record
class union_sqtt_profiling_mode_data_tag_profiling_data(c.Struct):
SIZE = 16
begin_hi: int
begin_lo: int
end_hi: int
end_lo: int
union_sqtt_profiling_mode_data_tag_profiling_data.register_fields([('begin_hi', uint32_t, 0), ('begin_lo', uint32_t, 4), ('end_hi', uint32_t, 8), ('end_lo', uint32_t, 12)])
union_sqtt_profiling_mode_data.register_fields([('user_marker_profiling_data', union_sqtt_profiling_mode_data_user_marker_profiling_data, 0), ('index_profiling_data', union_sqtt_profiling_mode_data_index_profiling_data, 0), ('tag_profiling_data', union_sqtt_profiling_mode_data_tag_profiling_data, 0)])
@c.record
class union_sqtt_instruction_trace_data(c.Struct):
SIZE = 8
api_pso_data: union_sqtt_instruction_trace_data_api_pso_data
shader_engine_filter: union_sqtt_instruction_trace_data_shader_engine_filter
@c.record
class union_sqtt_instruction_trace_data_api_pso_data(c.Struct):
SIZE = 8
api_pso_filter: int
union_sqtt_instruction_trace_data_api_pso_data.register_fields([('api_pso_filter', uint64_t, 0)])
@c.record
class union_sqtt_instruction_trace_data_shader_engine_filter(c.Struct):
SIZE = 4
mask: int
union_sqtt_instruction_trace_data_shader_engine_filter.register_fields([('mask', uint32_t, 0)])
union_sqtt_instruction_trace_data.register_fields([('api_pso_data', union_sqtt_instruction_trace_data_api_pso_data, 0), ('shader_engine_filter', union_sqtt_instruction_trace_data_shader_engine_filter, 0)])
@c.record
class struct_sqtt_file_chunk_api_info(c.Struct):
SIZE = 560
header: struct_sqtt_file_chunk_header
api_type: int
major_version: int
minor_version: int
profiling_mode: int
reserved: int
profiling_mode_data: union_sqtt_profiling_mode_data
instruction_trace_mode: int
reserved2: int
instruction_trace_data: union_sqtt_instruction_trace_data
struct_sqtt_file_chunk_api_info.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('api_type', ctypes.c_uint32, 16), ('major_version', uint16_t, 20), ('minor_version', uint16_t, 22), ('profiling_mode', ctypes.c_uint32, 24), ('reserved', uint32_t, 28), ('profiling_mode_data', union_sqtt_profiling_mode_data, 32), ('instruction_trace_mode', ctypes.c_uint32, 544), ('reserved2', uint32_t, 548), ('instruction_trace_data', union_sqtt_instruction_trace_data, 552)])
@c.record
class struct_sqtt_code_object_database_record(c.Struct):
SIZE = 4
size: int
struct_sqtt_code_object_database_record.register_fields([('size', uint32_t, 0)])
@c.record
class struct_sqtt_file_chunk_code_object_database(c.Struct):
SIZE = 32
header: struct_sqtt_file_chunk_header
offset: int
flags: int
size: int
record_count: int
struct_sqtt_file_chunk_code_object_database.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('offset', uint32_t, 16), ('flags', uint32_t, 20), ('size', uint32_t, 24), ('record_count', uint32_t, 28)])
@c.record
class struct_sqtt_code_object_loader_events_record(c.Struct):
SIZE = 40
loader_event_type: int
reserved: int
base_address: int
code_object_hash: c.Array[ctypes.c_uint64, Literal[2]]
time_stamp: int
struct_sqtt_code_object_loader_events_record.register_fields([('loader_event_type', uint32_t, 0), ('reserved', uint32_t, 4), ('base_address', uint64_t, 8), ('code_object_hash', c.Array[uint64_t, Literal[2]], 16), ('time_stamp', uint64_t, 32)])
@c.record
class struct_sqtt_file_chunk_code_object_loader_events(c.Struct):
SIZE = 32
header: struct_sqtt_file_chunk_header
offset: int
flags: int
record_size: int
record_count: int
struct_sqtt_file_chunk_code_object_loader_events.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('offset', uint32_t, 16), ('flags', uint32_t, 20), ('record_size', uint32_t, 24), ('record_count', uint32_t, 28)])
@c.record
class struct_sqtt_pso_correlation_record(c.Struct):
SIZE = 88
api_pso_hash: int
pipeline_hash: c.Array[ctypes.c_uint64, Literal[2]]
api_level_obj_name: c.Array[ctypes.c_char, Literal[64]]
struct_sqtt_pso_correlation_record.register_fields([('api_pso_hash', uint64_t, 0), ('pipeline_hash', c.Array[uint64_t, Literal[2]], 8), ('api_level_obj_name', c.Array[ctypes.c_char, Literal[64]], 24)])
@c.record
class struct_sqtt_file_chunk_pso_correlation(c.Struct):
SIZE = 32
header: struct_sqtt_file_chunk_header
offset: int
flags: int
record_size: int
record_count: int
struct_sqtt_file_chunk_pso_correlation.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('offset', uint32_t, 16), ('flags', uint32_t, 20), ('record_size', uint32_t, 24), ('record_count', uint32_t, 28)])
@c.record
class struct_sqtt_file_chunk_sqtt_desc(c.Struct):
SIZE = 32
header: struct_sqtt_file_chunk_header
shader_engine_index: int
sqtt_version: int
v0: struct_sqtt_file_chunk_sqtt_desc_v0
v1: struct_sqtt_file_chunk_sqtt_desc_v1
@c.record
class struct_sqtt_file_chunk_sqtt_desc_v0(c.Struct):
SIZE = 4
instrumentation_version: int
struct_sqtt_file_chunk_sqtt_desc_v0.register_fields([('instrumentation_version', int32_t, 0)])
@c.record
class struct_sqtt_file_chunk_sqtt_desc_v1(c.Struct):
SIZE = 8
instrumentation_spec_version: int
instrumentation_api_version: int
compute_unit_index: int
int16_t: TypeAlias = ctypes.c_int16
struct_sqtt_file_chunk_sqtt_desc_v1.register_fields([('instrumentation_spec_version', int16_t, 0), ('instrumentation_api_version', int16_t, 2), ('compute_unit_index', int32_t, 4)])
struct_sqtt_file_chunk_sqtt_desc.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('shader_engine_index', int32_t, 16), ('sqtt_version', ctypes.c_uint32, 20), ('v0', struct_sqtt_file_chunk_sqtt_desc_v0, 24), ('v1', struct_sqtt_file_chunk_sqtt_desc_v1, 24)])
@c.record
class struct_sqtt_file_chunk_sqtt_data(c.Struct):
SIZE = 24
header: struct_sqtt_file_chunk_header
offset: int
size: int
struct_sqtt_file_chunk_sqtt_data.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('offset', int32_t, 16), ('size', int32_t, 20)])
@c.record
class struct_sqtt_file_chunk_queue_event_timings(c.Struct):
SIZE = 32
header: struct_sqtt_file_chunk_header
queue_info_table_record_count: int
queue_info_table_size: int
queue_event_table_record_count: int
queue_event_table_size: int
struct_sqtt_file_chunk_queue_event_timings.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('queue_info_table_record_count', uint32_t, 16), ('queue_info_table_size', uint32_t, 20), ('queue_event_table_record_count', uint32_t, 24), ('queue_event_table_size', uint32_t, 28)])
enum_sqtt_queue_type: dict[int, str] = {(SQTT_QUEUE_TYPE_UNKNOWN:=0): 'SQTT_QUEUE_TYPE_UNKNOWN', (SQTT_QUEUE_TYPE_UNIVERSAL:=1): 'SQTT_QUEUE_TYPE_UNIVERSAL', (SQTT_QUEUE_TYPE_COMPUTE:=2): 'SQTT_QUEUE_TYPE_COMPUTE', (SQTT_QUEUE_TYPE_DMA:=3): 'SQTT_QUEUE_TYPE_DMA'}
enum_sqtt_engine_type: dict[int, str] = {(SQTT_ENGINE_TYPE_UNKNOWN:=0): 'SQTT_ENGINE_TYPE_UNKNOWN', (SQTT_ENGINE_TYPE_UNIVERSAL:=1): 'SQTT_ENGINE_TYPE_UNIVERSAL', (SQTT_ENGINE_TYPE_COMPUTE:=2): 'SQTT_ENGINE_TYPE_COMPUTE', (SQTT_ENGINE_TYPE_EXCLUSIVE_COMPUTE:=3): 'SQTT_ENGINE_TYPE_EXCLUSIVE_COMPUTE', (SQTT_ENGINE_TYPE_DMA:=4): 'SQTT_ENGINE_TYPE_DMA', (SQTT_ENGINE_TYPE_HIGH_PRIORITY_UNIVERSAL:=7): 'SQTT_ENGINE_TYPE_HIGH_PRIORITY_UNIVERSAL', (SQTT_ENGINE_TYPE_HIGH_PRIORITY_GRAPHICS:=8): 'SQTT_ENGINE_TYPE_HIGH_PRIORITY_GRAPHICS'}
@c.record
class struct_sqtt_queue_hardware_info(c.Struct):
SIZE = 4
queue_type: int
engine_type: int
reserved: int
value: int
struct_sqtt_queue_hardware_info.register_fields([('queue_type', int32_t, 0, 8, 0), ('engine_type', int32_t, 1, 8, 0), ('reserved', uint32_t, 2, 16, 0), ('value', uint32_t, 0)])
@c.record
class struct_sqtt_queue_info_record(c.Struct):
SIZE = 24
queue_id: int
queue_context: int
hardware_info: struct_sqtt_queue_hardware_info
reserved: int
struct_sqtt_queue_info_record.register_fields([('queue_id', uint64_t, 0), ('queue_context', uint64_t, 8), ('hardware_info', struct_sqtt_queue_hardware_info, 16), ('reserved', uint32_t, 20)])
enum_sqtt_queue_event_type: dict[int, str] = {(SQTT_QUEUE_TIMING_EVENT_CMDBUF_SUBMIT:=0): 'SQTT_QUEUE_TIMING_EVENT_CMDBUF_SUBMIT', (SQTT_QUEUE_TIMING_EVENT_SIGNAL_SEMAPHORE:=1): 'SQTT_QUEUE_TIMING_EVENT_SIGNAL_SEMAPHORE', (SQTT_QUEUE_TIMING_EVENT_WAIT_SEMAPHORE:=2): 'SQTT_QUEUE_TIMING_EVENT_WAIT_SEMAPHORE', (SQTT_QUEUE_TIMING_EVENT_PRESENT:=3): 'SQTT_QUEUE_TIMING_EVENT_PRESENT'}
@c.record
class struct_sqtt_queue_event_record(c.Struct):
SIZE = 56
event_type: int
sqtt_cb_id: int
frame_index: int
queue_info_index: int
submit_sub_index: int
api_id: int
cpu_timestamp: int
gpu_timestamps: c.Array[ctypes.c_uint64, Literal[2]]
struct_sqtt_queue_event_record.register_fields([('event_type', ctypes.c_uint32, 0), ('sqtt_cb_id', uint32_t, 4), ('frame_index', uint64_t, 8), ('queue_info_index', uint32_t, 16), ('submit_sub_index', uint32_t, 20), ('api_id', uint64_t, 24), ('cpu_timestamp', uint64_t, 32), ('gpu_timestamps', c.Array[uint64_t, Literal[2]], 40)])
@c.record
class struct_sqtt_file_chunk_clock_calibration(c.Struct):
SIZE = 40
header: struct_sqtt_file_chunk_header
cpu_timestamp: int
gpu_timestamp: int
reserved: int
struct_sqtt_file_chunk_clock_calibration.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('cpu_timestamp', uint64_t, 16), ('gpu_timestamp', uint64_t, 24), ('reserved', uint64_t, 32)])
enum_elf_gfxip_level: dict[int, str] = {(EF_AMDGPU_MACH_AMDGCN_GFX801:=40): 'EF_AMDGPU_MACH_AMDGCN_GFX801', (EF_AMDGPU_MACH_AMDGCN_GFX900:=44): 'EF_AMDGPU_MACH_AMDGCN_GFX900', (EF_AMDGPU_MACH_AMDGCN_GFX1010:=51): 'EF_AMDGPU_MACH_AMDGCN_GFX1010', (EF_AMDGPU_MACH_AMDGCN_GFX1030:=54): 'EF_AMDGPU_MACH_AMDGCN_GFX1030', (EF_AMDGPU_MACH_AMDGCN_GFX1100:=65): 'EF_AMDGPU_MACH_AMDGCN_GFX1100', (EF_AMDGPU_MACH_AMDGCN_GFX1150:=67): 'EF_AMDGPU_MACH_AMDGCN_GFX1150', (EF_AMDGPU_MACH_AMDGCN_GFX1200:=78): 'EF_AMDGPU_MACH_AMDGCN_GFX1200'}
@c.record
class struct_sqtt_file_chunk_spm_db(c.Struct):
SIZE = 40
header: struct_sqtt_file_chunk_header
flags: int
preamble_size: int
num_timestamps: int
num_spm_counter_info: int
spm_counter_info_size: int
sample_interval: int
struct_sqtt_file_chunk_spm_db.register_fields([('header', struct_sqtt_file_chunk_header, 0), ('flags', uint32_t, 16), ('preamble_size', uint32_t, 20), ('num_timestamps', uint32_t, 24), ('num_spm_counter_info', uint32_t, 28), ('spm_counter_info_size', uint32_t, 32), ('sample_interval', uint32_t, 36)])
enum_rgp_sqtt_marker_identifier: dict[int, str] = {(RGP_SQTT_MARKER_IDENTIFIER_EVENT:=0): 'RGP_SQTT_MARKER_IDENTIFIER_EVENT', (RGP_SQTT_MARKER_IDENTIFIER_CB_START:=1): 'RGP_SQTT_MARKER_IDENTIFIER_CB_START', (RGP_SQTT_MARKER_IDENTIFIER_CB_END:=2): 'RGP_SQTT_MARKER_IDENTIFIER_CB_END', (RGP_SQTT_MARKER_IDENTIFIER_BARRIER_START:=3): 'RGP_SQTT_MARKER_IDENTIFIER_BARRIER_START', (RGP_SQTT_MARKER_IDENTIFIER_BARRIER_END:=4): 'RGP_SQTT_MARKER_IDENTIFIER_BARRIER_END', (RGP_SQTT_MARKER_IDENTIFIER_USER_EVENT:=5): 'RGP_SQTT_MARKER_IDENTIFIER_USER_EVENT', (RGP_SQTT_MARKER_IDENTIFIER_GENERAL_API:=6): 'RGP_SQTT_MARKER_IDENTIFIER_GENERAL_API', (RGP_SQTT_MARKER_IDENTIFIER_SYNC:=7): 'RGP_SQTT_MARKER_IDENTIFIER_SYNC', (RGP_SQTT_MARKER_IDENTIFIER_PRESENT:=8): 'RGP_SQTT_MARKER_IDENTIFIER_PRESENT', (RGP_SQTT_MARKER_IDENTIFIER_LAYOUT_TRANSITION:=9): 'RGP_SQTT_MARKER_IDENTIFIER_LAYOUT_TRANSITION', (RGP_SQTT_MARKER_IDENTIFIER_RENDER_PASS:=10): 'RGP_SQTT_MARKER_IDENTIFIER_RENDER_PASS', (RGP_SQTT_MARKER_IDENTIFIER_RESERVED2:=11): 'RGP_SQTT_MARKER_IDENTIFIER_RESERVED2', (RGP_SQTT_MARKER_IDENTIFIER_BIND_PIPELINE:=12): 'RGP_SQTT_MARKER_IDENTIFIER_BIND_PIPELINE', (RGP_SQTT_MARKER_IDENTIFIER_RESERVED4:=13): 'RGP_SQTT_MARKER_IDENTIFIER_RESERVED4', (RGP_SQTT_MARKER_IDENTIFIER_RESERVED5:=14): 'RGP_SQTT_MARKER_IDENTIFIER_RESERVED5', (RGP_SQTT_MARKER_IDENTIFIER_RESERVED6:=15): 'RGP_SQTT_MARKER_IDENTIFIER_RESERVED6'}
@c.record
class union_rgp_sqtt_marker_cb_id(c.Struct):
SIZE = 4
per_frame_cb_id: union_rgp_sqtt_marker_cb_id_per_frame_cb_id
global_cb_id: union_rgp_sqtt_marker_cb_id_global_cb_id
all: int
@c.record
class union_rgp_sqtt_marker_cb_id_per_frame_cb_id(c.Struct):
SIZE = 4
per_frame: int
frame_index: int
cb_index: int
reserved: int
union_rgp_sqtt_marker_cb_id_per_frame_cb_id.register_fields([('per_frame', uint32_t, 0, 1, 0), ('frame_index', uint32_t, 0, 7, 1), ('cb_index', uint32_t, 1, 12, 0), ('reserved', uint32_t, 2, 12, 4)])
@c.record
class union_rgp_sqtt_marker_cb_id_global_cb_id(c.Struct):
SIZE = 4
per_frame: int
cb_index: int
reserved: int
union_rgp_sqtt_marker_cb_id_global_cb_id.register_fields([('per_frame', uint32_t, 0, 1, 0), ('cb_index', uint32_t, 0, 19, 1), ('reserved', uint32_t, 2, 12, 4)])
union_rgp_sqtt_marker_cb_id.register_fields([('per_frame_cb_id', union_rgp_sqtt_marker_cb_id_per_frame_cb_id, 0), ('global_cb_id', union_rgp_sqtt_marker_cb_id_global_cb_id, 0), ('all', uint32_t, 0)])
@c.record
class struct_rgp_sqtt_marker_cb_start(c.Struct):
SIZE = 16
identifier: int
ext_dwords: int
cb_id: int
queue: int
dword01: int
device_id_low: int
dword02: int
device_id_high: int
dword03: int
queue_flags: int
dword04: int
struct_rgp_sqtt_marker_cb_start.register_fields([('identifier', uint32_t, 0, 4, 0), ('ext_dwords', uint32_t, 0, 3, 4), ('cb_id', uint32_t, 0, 20, 7), ('queue', uint32_t, 3, 5, 3), ('dword01', uint32_t, 0), ('device_id_low', uint32_t, 4), ('dword02', uint32_t, 4), ('device_id_high', uint32_t, 8), ('dword03', uint32_t, 8), ('queue_flags', uint32_t, 12), ('dword04', uint32_t, 12)])
@c.record
class struct_rgp_sqtt_marker_cb_end(c.Struct):
SIZE = 12
identifier: int
ext_dwords: int
cb_id: int
reserved: int
dword01: int
device_id_low: int
dword02: int
device_id_high: int
dword03: int
struct_rgp_sqtt_marker_cb_end.register_fields([('identifier', uint32_t, 0, 4, 0), ('ext_dwords', uint32_t, 0, 3, 4), ('cb_id', uint32_t, 0, 20, 7), ('reserved', uint32_t, 3, 5, 3), ('dword01', uint32_t, 0), ('device_id_low', uint32_t, 4), ('dword02', uint32_t, 4), ('device_id_high', uint32_t, 8), ('dword03', uint32_t, 8)])
enum_rgp_sqtt_marker_general_api_type: dict[int, str] = {(ApiCmdBindPipeline:=0): 'ApiCmdBindPipeline', (ApiCmdBindDescriptorSets:=1): 'ApiCmdBindDescriptorSets', (ApiCmdBindIndexBuffer:=2): 'ApiCmdBindIndexBuffer', (ApiCmdBindVertexBuffers:=3): 'ApiCmdBindVertexBuffers', (ApiCmdDraw:=4): 'ApiCmdDraw', (ApiCmdDrawIndexed:=5): 'ApiCmdDrawIndexed', (ApiCmdDrawIndirect:=6): 'ApiCmdDrawIndirect', (ApiCmdDrawIndexedIndirect:=7): 'ApiCmdDrawIndexedIndirect', (ApiCmdDrawIndirectCountAMD:=8): 'ApiCmdDrawIndirectCountAMD', (ApiCmdDrawIndexedIndirectCountAMD:=9): 'ApiCmdDrawIndexedIndirectCountAMD', (ApiCmdDispatch:=10): 'ApiCmdDispatch', (ApiCmdDispatchIndirect:=11): 'ApiCmdDispatchIndirect', (ApiCmdCopyBuffer:=12): 'ApiCmdCopyBuffer', (ApiCmdCopyImage:=13): 'ApiCmdCopyImage', (ApiCmdBlitImage:=14): 'ApiCmdBlitImage', (ApiCmdCopyBufferToImage:=15): 'ApiCmdCopyBufferToImage', (ApiCmdCopyImageToBuffer:=16): 'ApiCmdCopyImageToBuffer', (ApiCmdUpdateBuffer:=17): 'ApiCmdUpdateBuffer', (ApiCmdFillBuffer:=18): 'ApiCmdFillBuffer', (ApiCmdClearColorImage:=19): 'ApiCmdClearColorImage', (ApiCmdClearDepthStencilImage:=20): 'ApiCmdClearDepthStencilImage', (ApiCmdClearAttachments:=21): 'ApiCmdClearAttachments', (ApiCmdResolveImage:=22): 'ApiCmdResolveImage', (ApiCmdWaitEvents:=23): 'ApiCmdWaitEvents', (ApiCmdPipelineBarrier:=24): 'ApiCmdPipelineBarrier', (ApiCmdBeginQuery:=25): 'ApiCmdBeginQuery', (ApiCmdEndQuery:=26): 'ApiCmdEndQuery', (ApiCmdResetQueryPool:=27): 'ApiCmdResetQueryPool', (ApiCmdWriteTimestamp:=28): 'ApiCmdWriteTimestamp', (ApiCmdCopyQueryPoolResults:=29): 'ApiCmdCopyQueryPoolResults', (ApiCmdPushConstants:=30): 'ApiCmdPushConstants', (ApiCmdBeginRenderPass:=31): 'ApiCmdBeginRenderPass', (ApiCmdNextSubpass:=32): 'ApiCmdNextSubpass', (ApiCmdEndRenderPass:=33): 'ApiCmdEndRenderPass', (ApiCmdExecuteCommands:=34): 'ApiCmdExecuteCommands', (ApiCmdSetViewport:=35): 'ApiCmdSetViewport', (ApiCmdSetScissor:=36): 'ApiCmdSetScissor', (ApiCmdSetLineWidth:=37): 'ApiCmdSetLineWidth', (ApiCmdSetDepthBias:=38): 'ApiCmdSetDepthBias', (ApiCmdSetBlendConstants:=39): 'ApiCmdSetBlendConstants', (ApiCmdSetDepthBounds:=40): 'ApiCmdSetDepthBounds', (ApiCmdSetStencilCompareMask:=41): 'ApiCmdSetStencilCompareMask', (ApiCmdSetStencilWriteMask:=42): 'ApiCmdSetStencilWriteMask', (ApiCmdSetStencilReference:=43): 'ApiCmdSetStencilReference', (ApiCmdDrawIndirectCount:=44): 'ApiCmdDrawIndirectCount', (ApiCmdDrawIndexedIndirectCount:=45): 'ApiCmdDrawIndexedIndirectCount', (ApiCmdDrawMeshTasksEXT:=47): 'ApiCmdDrawMeshTasksEXT', (ApiCmdDrawMeshTasksIndirectCountEXT:=48): 'ApiCmdDrawMeshTasksIndirectCountEXT', (ApiCmdDrawMeshTasksIndirectEXT:=49): 'ApiCmdDrawMeshTasksIndirectEXT', (ApiRayTracingSeparateCompiled:=8388608): 'ApiRayTracingSeparateCompiled', (ApiInvalid:=4294967295): 'ApiInvalid'}
@c.record
class struct_rgp_sqtt_marker_general_api(c.Struct):
SIZE = 4
identifier: int
ext_dwords: int
api_type: int
is_end: int
reserved: int
dword01: int
struct_rgp_sqtt_marker_general_api.register_fields([('identifier', uint32_t, 0, 4, 0), ('ext_dwords', uint32_t, 0, 3, 4), ('api_type', uint32_t, 0, 20, 7), ('is_end', uint32_t, 3, 1, 3), ('reserved', uint32_t, 3, 4, 4), ('dword01', uint32_t, 0)])
enum_rgp_sqtt_marker_event_type: dict[int, str] = {(EventCmdDraw:=0): 'EventCmdDraw', (EventCmdDrawIndexed:=1): 'EventCmdDrawIndexed', (EventCmdDrawIndirect:=2): 'EventCmdDrawIndirect', (EventCmdDrawIndexedIndirect:=3): 'EventCmdDrawIndexedIndirect', (EventCmdDrawIndirectCountAMD:=4): 'EventCmdDrawIndirectCountAMD', (EventCmdDrawIndexedIndirectCountAMD:=5): 'EventCmdDrawIndexedIndirectCountAMD', (EventCmdDispatch:=6): 'EventCmdDispatch', (EventCmdDispatchIndirect:=7): 'EventCmdDispatchIndirect', (EventCmdCopyBuffer:=8): 'EventCmdCopyBuffer', (EventCmdCopyImage:=9): 'EventCmdCopyImage', (EventCmdBlitImage:=10): 'EventCmdBlitImage', (EventCmdCopyBufferToImage:=11): 'EventCmdCopyBufferToImage', (EventCmdCopyImageToBuffer:=12): 'EventCmdCopyImageToBuffer', (EventCmdUpdateBuffer:=13): 'EventCmdUpdateBuffer', (EventCmdFillBuffer:=14): 'EventCmdFillBuffer', (EventCmdClearColorImage:=15): 'EventCmdClearColorImage', (EventCmdClearDepthStencilImage:=16): 'EventCmdClearDepthStencilImage', (EventCmdClearAttachments:=17): 'EventCmdClearAttachments', (EventCmdResolveImage:=18): 'EventCmdResolveImage', (EventCmdWaitEvents:=19): 'EventCmdWaitEvents', (EventCmdPipelineBarrier:=20): 'EventCmdPipelineBarrier', (EventCmdResetQueryPool:=21): 'EventCmdResetQueryPool', (EventCmdCopyQueryPoolResults:=22): 'EventCmdCopyQueryPoolResults', (EventRenderPassColorClear:=23): 'EventRenderPassColorClear', (EventRenderPassDepthStencilClear:=24): 'EventRenderPassDepthStencilClear', (EventRenderPassResolve:=25): 'EventRenderPassResolve', (EventInternalUnknown:=26): 'EventInternalUnknown', (EventCmdDrawIndirectCount:=27): 'EventCmdDrawIndirectCount', (EventCmdDrawIndexedIndirectCount:=28): 'EventCmdDrawIndexedIndirectCount', (EventCmdTraceRaysKHR:=30): 'EventCmdTraceRaysKHR', (EventCmdTraceRaysIndirectKHR:=31): 'EventCmdTraceRaysIndirectKHR', (EventCmdBuildAccelerationStructuresKHR:=32): 'EventCmdBuildAccelerationStructuresKHR', (EventCmdBuildAccelerationStructuresIndirectKHR:=33): 'EventCmdBuildAccelerationStructuresIndirectKHR', (EventCmdCopyAccelerationStructureKHR:=34): 'EventCmdCopyAccelerationStructureKHR', (EventCmdCopyAccelerationStructureToMemoryKHR:=35): 'EventCmdCopyAccelerationStructureToMemoryKHR', (EventCmdCopyMemoryToAccelerationStructureKHR:=36): 'EventCmdCopyMemoryToAccelerationStructureKHR', (EventCmdDrawMeshTasksEXT:=41): 'EventCmdDrawMeshTasksEXT', (EventCmdDrawMeshTasksIndirectCountEXT:=42): 'EventCmdDrawMeshTasksIndirectCountEXT', (EventCmdDrawMeshTasksIndirectEXT:=43): 'EventCmdDrawMeshTasksIndirectEXT', (EventUnknown:=32767): 'EventUnknown', (EventInvalid:=4294967295): 'EventInvalid'}
@c.record
class struct_rgp_sqtt_marker_event(c.Struct):
SIZE = 12
identifier: int
ext_dwords: int
api_type: int
has_thread_dims: int
dword01: int
cb_id: int
vertex_offset_reg_idx: int
instance_offset_reg_idx: int
draw_index_reg_idx: int
dword02: int
cmd_id: int
dword03: int
struct_rgp_sqtt_marker_event.register_fields([('identifier', uint32_t, 0, 4, 0), ('ext_dwords', uint32_t, 0, 3, 4), ('api_type', uint32_t, 0, 24, 7), ('has_thread_dims', uint32_t, 3, 1, 7), ('dword01', uint32_t, 0), ('cb_id', uint32_t, 4, 20, 0), ('vertex_offset_reg_idx', uint32_t, 6, 4, 4), ('instance_offset_reg_idx', uint32_t, 7, 4, 0), ('draw_index_reg_idx', uint32_t, 7, 4, 4), ('dword02', uint32_t, 4), ('cmd_id', uint32_t, 8), ('dword03', uint32_t, 8)])
@c.record
class struct_rgp_sqtt_marker_event_with_dims(c.Struct):
SIZE = 24
event: struct_rgp_sqtt_marker_event
thread_x: int
thread_y: int
thread_z: int
struct_rgp_sqtt_marker_event_with_dims.register_fields([('event', struct_rgp_sqtt_marker_event, 0), ('thread_x', uint32_t, 12), ('thread_y', uint32_t, 16), ('thread_z', uint32_t, 20)])
@c.record
class struct_rgp_sqtt_marker_barrier_start(c.Struct):
SIZE = 8
identifier: int
ext_dwords: int
cb_id: int
reserved: int
dword01: int
driver_reason: int
internal: int
dword02: int
struct_rgp_sqtt_marker_barrier_start.register_fields([('identifier', uint32_t, 0, 4, 0), ('ext_dwords', uint32_t, 0, 3, 4), ('cb_id', uint32_t, 0, 20, 7), ('reserved', uint32_t, 3, 5, 3), ('dword01', uint32_t, 0), ('driver_reason', uint32_t, 4, 31, 0), ('internal', uint32_t, 7, 1, 7), ('dword02', uint32_t, 4)])
@c.record
class struct_rgp_sqtt_marker_barrier_end(c.Struct):
SIZE = 8
identifier: int
ext_dwords: int
cb_id: int
wait_on_eop_ts: int
vs_partial_flush: int
ps_partial_flush: int
cs_partial_flush: int
pfp_sync_me: int
dword01: int
sync_cp_dma: int
inval_tcp: int
inval_sqI: int
inval_sqK: int
flush_tcc: int
inval_tcc: int
flush_cb: int
inval_cb: int
flush_db: int
inval_db: int
num_layout_transitions: int
inval_gl1: int
wait_on_ts: int
eop_ts_bottom_of_pipe: int
eos_ts_ps_done: int
eos_ts_cs_done: int
reserved: int
dword02: int
struct_rgp_sqtt_marker_barrier_end.register_fields([('identifier', uint32_t, 0, 4, 0), ('ext_dwords', uint32_t, 0, 3, 4), ('cb_id', uint32_t, 0, 20, 7), ('wait_on_eop_ts', uint32_t, 3, 1, 3), ('vs_partial_flush', uint32_t, 3, 1, 4), ('ps_partial_flush', uint32_t, 3, 1, 5), ('cs_partial_flush', uint32_t, 3, 1, 6), ('pfp_sync_me', uint32_t, 3, 1, 7), ('dword01', uint32_t, 0), ('sync_cp_dma', uint32_t, 4, 1, 0), ('inval_tcp', uint32_t, 4, 1, 1), ('inval_sqI', uint32_t, 4, 1, 2), ('inval_sqK', uint32_t, 4, 1, 3), ('flush_tcc', uint32_t, 4, 1, 4), ('inval_tcc', uint32_t, 4, 1, 5), ('flush_cb', uint32_t, 4, 1, 6), ('inval_cb', uint32_t, 4, 1, 7), ('flush_db', uint32_t, 5, 1, 0), ('inval_db', uint32_t, 5, 1, 1), ('num_layout_transitions', uint32_t, 5, 16, 2), ('inval_gl1', uint32_t, 7, 1, 2), ('wait_on_ts', uint32_t, 7, 1, 3), ('eop_ts_bottom_of_pipe', uint32_t, 7, 1, 4), ('eos_ts_ps_done', uint32_t, 7, 1, 5), ('eos_ts_cs_done', uint32_t, 7, 1, 6), ('reserved', uint32_t, 7, 1, 7), ('dword02', uint32_t, 4)])
@c.record
class struct_rgp_sqtt_marker_layout_transition(c.Struct):
SIZE = 8
identifier: int
ext_dwords: int
depth_stencil_expand: int
htile_hiz_range_expand: int
depth_stencil_resummarize: int
dcc_decompress: int
fmask_decompress: int
fast_clear_eliminate: int
fmask_color_expand: int
init_mask_ram: int
reserved1: int
dword01: int
reserved2: int
dword02: int
struct_rgp_sqtt_marker_layout_transition.register_fields([('identifier', uint32_t, 0, 4, 0), ('ext_dwords', uint32_t, 0, 3, 4), ('depth_stencil_expand', uint32_t, 0, 1, 7), ('htile_hiz_range_expand', uint32_t, 1, 1, 0), ('depth_stencil_resummarize', uint32_t, 1, 1, 1), ('dcc_decompress', uint32_t, 1, 1, 2), ('fmask_decompress', uint32_t, 1, 1, 3), ('fast_clear_eliminate', uint32_t, 1, 1, 4), ('fmask_color_expand', uint32_t, 1, 1, 5), ('init_mask_ram', uint32_t, 1, 1, 6), ('reserved1', uint32_t, 1, 17, 7), ('dword01', uint32_t, 0), ('reserved2', uint32_t, 4, 32, 0), ('dword02', uint32_t, 4)])
@c.record
class struct_rgp_sqtt_marker_user_event(c.Struct):
SIZE = 4
identifier: int
reserved0: int
data_type: int
reserved1: int
dword01: int
struct_rgp_sqtt_marker_user_event.register_fields([('identifier', uint32_t, 0, 4, 0), ('reserved0', uint32_t, 0, 8, 4), ('data_type', uint32_t, 1, 8, 4), ('reserved1', uint32_t, 2, 12, 4), ('dword01', uint32_t, 0)])
@c.record
class struct_rgp_sqtt_marker_user_event_with_length(c.Struct):
SIZE = 8
user_event: struct_rgp_sqtt_marker_user_event
length: int
struct_rgp_sqtt_marker_user_event_with_length.register_fields([('user_event', struct_rgp_sqtt_marker_user_event, 0), ('length', uint32_t, 4)])
enum_rgp_sqtt_marker_user_event_type: dict[int, str] = {(UserEventTrigger:=0): 'UserEventTrigger', (UserEventPop:=1): 'UserEventPop', (UserEventPush:=2): 'UserEventPush', (UserEventObjectName:=3): 'UserEventObjectName'}
@c.record
class struct_rgp_sqtt_marker_pipeline_bind(c.Struct):
SIZE = 12
identifier: int
ext_dwords: int
bind_point: int
cb_id: int
reserved: int
dword01: int
api_pso_hash: c.Array[ctypes.c_uint32, Literal[2]]
dword02: int
dword03: int
struct_rgp_sqtt_marker_pipeline_bind.register_fields([('identifier', uint32_t, 0, 4, 0), ('ext_dwords', uint32_t, 0, 3, 4), ('bind_point', uint32_t, 0, 1, 7), ('cb_id', uint32_t, 1, 20, 0), ('reserved', uint32_t, 3, 4, 4), ('dword01', uint32_t, 0), ('api_pso_hash', c.Array[uint32_t, Literal[2]], 4), ('dword02', uint32_t, 4), ('dword03', uint32_t, 8)])
SQTT_FILE_MAGIC_NUMBER = 0x50303042
SQTT_FILE_VERSION_MAJOR = 1
SQTT_FILE_VERSION_MINOR = 5
SQTT_GPU_NAME_MAX_SIZE = 256
SQTT_MAX_NUM_SE = 32
SQTT_SA_PER_SE = 2
SQTT_ACTIVE_PIXEL_PACKER_MASK_DWORDS = 4