mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-06-24 02:14:17 +00:00
autogen: explicit types (#15679)
This commit is contained in:
parent
ac41f15fc1
commit
d83707ec29
52 changed files with 54651 additions and 64614 deletions
|
|
@ -1,7 +1,6 @@
|
|||
import ctypes, struct, subprocess, tempfile, unittest
|
||||
from typing import Annotated
|
||||
from tinygrad.helpers import OSX, WIN
|
||||
from tinygrad.runtime.support.c import DLL, record, init_records
|
||||
from tinygrad.runtime.support.c import DLL, record, Field
|
||||
from tinygrad.runtime.support import c
|
||||
from tinygrad.runtime.support.autogen import gen
|
||||
|
||||
|
|
@ -14,10 +13,9 @@ class TestC(unittest.TestCase):
|
|||
|
||||
def test_struct_array_init(self):
|
||||
@record
|
||||
class Foo:
|
||||
class Foo(c.Struct):
|
||||
SIZE = 12
|
||||
a: Annotated[ctypes.c_int * 3, 0]
|
||||
init_records()
|
||||
a = Field(ctypes.c_int * 3, 0)
|
||||
|
||||
f = Foo((1,2,3))
|
||||
assert f.a[0] == 1
|
||||
|
|
@ -30,11 +28,10 @@ class TestC(unittest.TestCase):
|
|||
|
||||
def test_field_ranges(self):
|
||||
@record
|
||||
class Foo:
|
||||
class Foo(c.Struct):
|
||||
SIZE = 2
|
||||
s: Annotated[ctypes.c_int8, 0]
|
||||
u: Annotated[ctypes.c_uint8, 1]
|
||||
init_records()
|
||||
s = Field(ctypes.c_int8, 0)
|
||||
u = Field(ctypes.c_uint8, 1)
|
||||
|
||||
f = Foo()
|
||||
f.s = -1
|
||||
|
|
@ -45,10 +42,9 @@ class TestC(unittest.TestCase):
|
|||
# this syntax is inherited from ctypes, but it seems a bit nonsensical?
|
||||
def test_voidp_none(self):
|
||||
@record
|
||||
class Foo:
|
||||
class Foo(c.Struct):
|
||||
SIZE = 8
|
||||
p: Annotated[ctypes.c_void_p, 0]
|
||||
init_records()
|
||||
p = Field(ctypes.c_void_p, 0)
|
||||
|
||||
f = Foo(None)
|
||||
assert f.p is None
|
||||
|
|
@ -59,13 +55,12 @@ class TestC(unittest.TestCase):
|
|||
|
||||
def test_packed_struct(self):
|
||||
@record
|
||||
class Baz:
|
||||
class Baz(c.Struct):
|
||||
SIZE = 8
|
||||
a: Annotated[ctypes.c_uint, 0, 30]
|
||||
b: Annotated[ctypes.c_uint, 3, 30, 6]
|
||||
c: Annotated[ctypes.c_uint, 7, 2, 4]
|
||||
d: Annotated[ctypes.c_uint, 7, 2, 6]
|
||||
init_records()
|
||||
a = Field(ctypes.c_uint, 0, 30)
|
||||
b = Field(ctypes.c_uint, 3, 30, 6)
|
||||
c = Field(ctypes.c_uint, 7, 2, 4)
|
||||
d = Field(ctypes.c_uint, 7, 2, 6)
|
||||
|
||||
b = Baz(0x3AAADEAD, 0xBEEF, 1, 0)
|
||||
assert b.a == 0x3AAADEAD
|
||||
|
|
@ -81,13 +76,12 @@ class TestC(unittest.TestCase):
|
|||
|
||||
def test_packed_struct_interop(self):
|
||||
@record
|
||||
class Baz:
|
||||
class Baz(c.Struct):
|
||||
SIZE = 8
|
||||
a: Annotated[ctypes.c_int, 0, 30]
|
||||
b: Annotated[ctypes.c_int, 3, 30, 6]
|
||||
c: Annotated[ctypes.c_int, 7, 2, 4]
|
||||
d: Annotated[ctypes.c_int, 7, 2, 6]
|
||||
init_records()
|
||||
a = Field(ctypes.c_int, 0, 30)
|
||||
b = Field(ctypes.c_int, 3, 30, 6)
|
||||
c = Field(ctypes.c_int, 7, 2, 4)
|
||||
d = Field(ctypes.c_int, 7, 2, 6)
|
||||
|
||||
src = '''
|
||||
struct __attribute__((packed)) baz {
|
||||
|
|
@ -103,24 +97,23 @@ class TestC(unittest.TestCase):
|
|||
'''
|
||||
dll = self.compile(src)
|
||||
b = Baz(0xAA000, 0x00BB0, 0, 1)
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int, Baz)
|
||||
def test(x:Baz) -> ctypes.c_int: ...
|
||||
self.assertEqual(test(b), b.a + b.b + b.c + b.d)
|
||||
|
||||
# https://github.com/python/cpython/issues/90914
|
||||
def test_bitfield_interop(self):
|
||||
@record
|
||||
class Baz:
|
||||
class Baz(c.Struct):
|
||||
SIZE = 1
|
||||
a: Annotated[ctypes.c_bool, 0, 1, 0]
|
||||
b: Annotated[ctypes.c_bool, 0, 1, 1]
|
||||
c: Annotated[ctypes.c_bool, 0, 1, 2]
|
||||
d: Annotated[ctypes.c_bool, 0, 1, 3]
|
||||
e: Annotated[ctypes.c_bool, 0, 1, 4]
|
||||
f: Annotated[ctypes.c_bool, 0, 1, 5]
|
||||
g: Annotated[ctypes.c_bool, 0, 1, 6]
|
||||
h: Annotated[ctypes.c_bool, 0, 1, 7]
|
||||
init_records()
|
||||
a = Field(ctypes.c_bool, 0, 1, 0)
|
||||
b = Field(ctypes.c_bool, 0, 1, 1)
|
||||
c = Field(ctypes.c_bool, 0, 1, 2)
|
||||
d = Field(ctypes.c_bool, 0, 1, 3)
|
||||
e = Field(ctypes.c_bool, 0, 1, 4)
|
||||
f = Field(ctypes.c_bool, 0, 1, 5)
|
||||
g = Field(ctypes.c_bool, 0, 1, 6)
|
||||
h = Field(ctypes.c_bool, 0, 1, 7)
|
||||
src = '''#include <stdbool.h>
|
||||
struct baz {
|
||||
bool a:1, b:1, c:1, d:1, e:1, f:1, g:1, h:1;
|
||||
|
|
@ -131,23 +124,22 @@ class TestC(unittest.TestCase):
|
|||
}
|
||||
'''
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int, Baz)
|
||||
def test(x:Baz) -> ctypes.c_int: ...
|
||||
for i in range(8): self.assertEqual(test(Baz(*(j==i for j in range(8)))), i==2)
|
||||
|
||||
def test_struct_interop(self):
|
||||
@record
|
||||
class Baz:
|
||||
class Baz(c.Struct):
|
||||
SIZE = 32
|
||||
a: Annotated[ctypes.c_int, 0]
|
||||
b: Annotated[ctypes.c_int, 4]
|
||||
c: Annotated[ctypes.c_int, 8]
|
||||
d: Annotated[ctypes.c_int, 12]
|
||||
e: Annotated[ctypes.c_int, 16]
|
||||
f: Annotated[ctypes.c_int, 20]
|
||||
g: Annotated[ctypes.c_int, 24]
|
||||
h: Annotated[ctypes.c_int, 28]
|
||||
init_records()
|
||||
a = Field(ctypes.c_int, 0)
|
||||
b = Field(ctypes.c_int, 4)
|
||||
c = Field(ctypes.c_int, 8)
|
||||
d = Field(ctypes.c_int, 12)
|
||||
e = Field(ctypes.c_int, 16)
|
||||
f = Field(ctypes.c_int, 20)
|
||||
g = Field(ctypes.c_int, 24)
|
||||
h = Field(ctypes.c_int, 28)
|
||||
src = '''#include <stdio.h>
|
||||
struct baz {
|
||||
int a, b, c, d, e, f, g, h;
|
||||
|
|
@ -158,16 +150,15 @@ class TestC(unittest.TestCase):
|
|||
}
|
||||
'''
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(Baz, Baz)
|
||||
def test(x:Baz) -> Baz: ...
|
||||
self.assertEqual(bytes(test(Baz(*range(8)))), struct.pack("8i", *range(7, -1, -1)))
|
||||
|
||||
def test_aos_interop(self):
|
||||
@record
|
||||
class Item:
|
||||
class Item(c.Struct):
|
||||
SIZE = 4
|
||||
val: Annotated[ctypes.c_int, 0]
|
||||
init_records()
|
||||
val = Field(ctypes.c_int, 0)
|
||||
src = """
|
||||
struct item { int val; };
|
||||
int test(struct item arr[3]) {
|
||||
|
|
@ -177,16 +168,15 @@ class TestC(unittest.TestCase):
|
|||
}
|
||||
"""
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int, Item * 3)
|
||||
def test(arr:(Item * 3)) -> ctypes.c_int: ...
|
||||
self.assertEqual(test((Item * 3)(Item(10), Item(20), Item(30))), 60)
|
||||
|
||||
def test_soa_interop(self):
|
||||
@record
|
||||
class Row:
|
||||
class Row(c.Struct):
|
||||
SIZE = 16
|
||||
data: Annotated[ctypes.c_int * 3, 0]
|
||||
init_records()
|
||||
data = Field(ctypes.c_int * 3, 0)
|
||||
src = """
|
||||
struct row { int data[3]; };
|
||||
struct row test(struct row x) {
|
||||
|
|
@ -194,7 +184,7 @@ class TestC(unittest.TestCase):
|
|||
}
|
||||
"""
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(Row, Row)
|
||||
def test(x:Row) -> Row: ...
|
||||
r = test(Row((ctypes.c_int * 3)(10, 20, 30)))
|
||||
self.assertIsInstance(r, Row)
|
||||
|
|
@ -204,10 +194,9 @@ class TestC(unittest.TestCase):
|
|||
|
||||
def test_soa_ptr_interop(self):
|
||||
@record
|
||||
class Row:
|
||||
class Row(c.Struct):
|
||||
SIZE = 8
|
||||
data: Annotated[c.POINTER[ctypes.c_int], 0]
|
||||
init_records()
|
||||
data = Field(c.POINTER[ctypes.c_int], 0)
|
||||
src = """
|
||||
struct row { int *data; };
|
||||
int test(struct row x) {
|
||||
|
|
@ -215,21 +204,20 @@ class TestC(unittest.TestCase):
|
|||
}
|
||||
"""
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int, Row)
|
||||
def test(x:Row) -> ctypes.c_int: ...
|
||||
assert test(Row((ctypes.c_int * 3)(10, 20, 30))) == 60
|
||||
|
||||
def test_nested_struct_interop(self):
|
||||
@record
|
||||
class Inner:
|
||||
class Inner(c.Struct):
|
||||
SIZE = 4
|
||||
a: Annotated[ctypes.c_int, 0]
|
||||
a = Field(ctypes.c_int, 0)
|
||||
@record
|
||||
class Outer:
|
||||
class Outer(c.Struct):
|
||||
SIZE = 8
|
||||
inner: Annotated[Inner, 0]
|
||||
b: Annotated[ctypes.c_int, 4]
|
||||
init_records()
|
||||
inner = Field(Inner, 0)
|
||||
b = Field(ctypes.c_int, 4)
|
||||
src = """
|
||||
struct i { int a; };
|
||||
struct o { struct i i; int b; };
|
||||
|
|
@ -238,7 +226,7 @@ class TestC(unittest.TestCase):
|
|||
}
|
||||
"""
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(Outer, Outer)
|
||||
def test(x:Outer) -> Outer: ...
|
||||
o = test(Outer(Inner(10), 20))
|
||||
self.assertEqual(o.inner.a, 20)
|
||||
|
|
@ -246,11 +234,10 @@ class TestC(unittest.TestCase):
|
|||
|
||||
def test_struct_pointer_interop(self):
|
||||
@record
|
||||
class Foo:
|
||||
class Foo(c.Struct):
|
||||
SIZE = 8
|
||||
a: Annotated[ctypes.c_int, 0]
|
||||
b: Annotated[ctypes.c_int, 4]
|
||||
init_records()
|
||||
a = Field(ctypes.c_int, 0)
|
||||
b = Field(ctypes.c_int, 4)
|
||||
src = """
|
||||
struct foo { int a, b; };
|
||||
struct foo *test(struct foo *f) {
|
||||
|
|
@ -261,7 +248,7 @@ class TestC(unittest.TestCase):
|
|||
}
|
||||
"""
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.POINTER(Foo), ctypes.POINTER(Foo))
|
||||
def test(f:ctypes.POINTER(Foo)) -> ctypes.POINTER(Foo): ...
|
||||
inp = ctypes.pointer(Foo(10, 20))
|
||||
out = test(inp)
|
||||
|
|
@ -273,16 +260,15 @@ class TestC(unittest.TestCase):
|
|||
# Mimics how mesa.struct_lp_build_tgsi_params.mask is used
|
||||
from tinygrad.runtime.support.c import POINTER
|
||||
@record
|
||||
class Inner:
|
||||
class Inner(c.Struct):
|
||||
SIZE = 8
|
||||
value: Annotated[ctypes.c_int, 0]
|
||||
flag: Annotated[ctypes.c_int, 4]
|
||||
value = Field(ctypes.c_int, 0)
|
||||
flag = Field(ctypes.c_int, 4)
|
||||
@record
|
||||
class Outer:
|
||||
class Outer(c.Struct):
|
||||
SIZE = 16
|
||||
x: Annotated[ctypes.c_int, 0]
|
||||
inner_ptr: Annotated[POINTER[Inner], 8]
|
||||
init_records()
|
||||
x = Field(ctypes.c_int, 0)
|
||||
inner_ptr = Field(POINTER[Inner], 8)
|
||||
|
||||
src = """
|
||||
struct inner { int value; int flag; };
|
||||
|
|
@ -292,7 +278,7 @@ class TestC(unittest.TestCase):
|
|||
}
|
||||
"""
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int, ctypes.POINTER(Inner))
|
||||
def test(p:POINTER[Inner]) -> ctypes.c_int: ...
|
||||
|
||||
inner = Inner(value=42, flag=10)
|
||||
|
|
@ -306,17 +292,16 @@ class TestC(unittest.TestCase):
|
|||
# This causes the pointed-to object to be garbage collected, leading to use-after-free.
|
||||
from tinygrad.runtime.support.c import POINTER
|
||||
@record
|
||||
class MaskContext:
|
||||
class MaskContext(c.Struct):
|
||||
SIZE = 16
|
||||
value: Annotated[ctypes.c_int, 0]
|
||||
initialized: Annotated[ctypes.c_int, 4]
|
||||
ptr: Annotated[ctypes.c_void_p, 8]
|
||||
value = Field(ctypes.c_int, 0)
|
||||
initialized = Field(ctypes.c_int, 4)
|
||||
ptr = Field(ctypes.c_void_p, 8)
|
||||
@record
|
||||
class Params:
|
||||
class Params(c.Struct):
|
||||
SIZE = 16
|
||||
x: Annotated[ctypes.c_int, 0]
|
||||
mask: Annotated[POINTER[MaskContext], 8]
|
||||
init_records()
|
||||
x = Field(ctypes.c_int, 0)
|
||||
mask = Field(POINTER[MaskContext], 8)
|
||||
|
||||
src = """
|
||||
struct mask_ctx { int value; int initialized; void *ptr; };
|
||||
|
|
@ -324,9 +309,9 @@ class TestC(unittest.TestCase):
|
|||
int mask_end(struct mask_ctx *m) { return m->value + m->initialized; }
|
||||
"""
|
||||
dll = self.compile(src)
|
||||
@dll.bind
|
||||
@dll.bind(None, ctypes.POINTER(MaskContext), ctypes.c_int)
|
||||
def mask_begin(m:POINTER[MaskContext], val:ctypes.c_int) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int, ctypes.POINTER(MaskContext))
|
||||
def mask_end(m:POINTER[MaskContext]) -> ctypes.c_int: ...
|
||||
|
||||
# When MaskContext() is created inline, it gets garbage collected after the pointer
|
||||
|
|
@ -444,6 +429,10 @@ typedef struct
|
|||
self.assertTrue(hasattr(rect, 'height'))
|
||||
self.assertTrue(hasattr(rect, 'color'))
|
||||
|
||||
p2 = Point(10, 20)
|
||||
self.assertEqual(p2.x, 10)
|
||||
self.assertEqual(p2.y, 20)
|
||||
|
||||
def test_struct_ordering(self):
|
||||
namespace = self.run_gen("""
|
||||
struct A;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,139 +1,42 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
class union_PM4_MES_TYPE_3_HEADER(c.Struct): SIZE = 0
|
||||
class enum_mes_set_resources_queue_type_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
queue_type__mes_set_resources__kernel_interface_queue_kiq = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__kernel_interface_queue_kiq', 0)
|
||||
queue_type__mes_set_resources__hsa_interface_queue_hiq = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__hsa_interface_queue_hiq', 1)
|
||||
queue_type__mes_set_resources__hsa_debug_interface_queue = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__hsa_debug_interface_queue', 4)
|
||||
|
||||
class struct_pm4_mes_set_resources(c.Struct): SIZE = 0
|
||||
class struct_pm4_mes_runlist(c.Struct): SIZE = 0
|
||||
class struct_pm4_mes_map_process(c.Struct): SIZE = 0
|
||||
class struct_PM4_MES_MAP_PROCESS_VM(c.Struct): SIZE = 0
|
||||
class enum_mes_map_queues_queue_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
queue_sel__mes_map_queues__map_to_specified_queue_slots_vi = enum_mes_map_queues_queue_sel_enum.define('queue_sel__mes_map_queues__map_to_specified_queue_slots_vi', 0)
|
||||
queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi = enum_mes_map_queues_queue_sel_enum.define('queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi', 1)
|
||||
|
||||
class enum_mes_map_queues_queue_type_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
queue_type__mes_map_queues__normal_compute_vi = enum_mes_map_queues_queue_type_enum.define('queue_type__mes_map_queues__normal_compute_vi', 0)
|
||||
queue_type__mes_map_queues__debug_interface_queue_vi = enum_mes_map_queues_queue_type_enum.define('queue_type__mes_map_queues__debug_interface_queue_vi', 1)
|
||||
queue_type__mes_map_queues__normal_latency_static_queue_vi = enum_mes_map_queues_queue_type_enum.define('queue_type__mes_map_queues__normal_latency_static_queue_vi', 2)
|
||||
queue_type__mes_map_queues__low_latency_static_queue_vi = enum_mes_map_queues_queue_type_enum.define('queue_type__mes_map_queues__low_latency_static_queue_vi', 3)
|
||||
|
||||
class enum_mes_map_queues_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
engine_sel__mes_map_queues__compute_vi = enum_mes_map_queues_engine_sel_enum.define('engine_sel__mes_map_queues__compute_vi', 0)
|
||||
engine_sel__mes_map_queues__sdma0_vi = enum_mes_map_queues_engine_sel_enum.define('engine_sel__mes_map_queues__sdma0_vi', 2)
|
||||
engine_sel__mes_map_queues__sdma1_vi = enum_mes_map_queues_engine_sel_enum.define('engine_sel__mes_map_queues__sdma1_vi', 3)
|
||||
|
||||
class enum_mes_map_queues_extended_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
extended_engine_sel__mes_map_queues__legacy_engine_sel = enum_mes_map_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_map_queues__legacy_engine_sel', 0)
|
||||
extended_engine_sel__mes_map_queues__sdma0_to_7_sel = enum_mes_map_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_map_queues__sdma0_to_7_sel', 1)
|
||||
extended_engine_sel__mes_map_queues__sdma8_to_15_sel = enum_mes_map_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_map_queues__sdma8_to_15_sel', 2)
|
||||
|
||||
class struct_pm4_mes_map_queues(c.Struct): SIZE = 0
|
||||
class enum_mes_query_status_interrupt_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
interrupt_sel__mes_query_status__completion_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__completion_status', 0)
|
||||
interrupt_sel__mes_query_status__process_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__process_status', 1)
|
||||
interrupt_sel__mes_query_status__queue_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__queue_status', 2)
|
||||
|
||||
class enum_mes_query_status_command_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
command__mes_query_status__interrupt_only = enum_mes_query_status_command_enum.define('command__mes_query_status__interrupt_only', 0)
|
||||
command__mes_query_status__fence_only_immediate = enum_mes_query_status_command_enum.define('command__mes_query_status__fence_only_immediate', 1)
|
||||
command__mes_query_status__fence_only_after_write_ack = enum_mes_query_status_command_enum.define('command__mes_query_status__fence_only_after_write_ack', 2)
|
||||
command__mes_query_status__fence_wait_for_write_ack_send_interrupt = enum_mes_query_status_command_enum.define('command__mes_query_status__fence_wait_for_write_ack_send_interrupt', 3)
|
||||
|
||||
class enum_mes_query_status_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
engine_sel__mes_query_status__compute = enum_mes_query_status_engine_sel_enum.define('engine_sel__mes_query_status__compute', 0)
|
||||
engine_sel__mes_query_status__sdma0_queue = enum_mes_query_status_engine_sel_enum.define('engine_sel__mes_query_status__sdma0_queue', 2)
|
||||
engine_sel__mes_query_status__sdma1_queue = enum_mes_query_status_engine_sel_enum.define('engine_sel__mes_query_status__sdma1_queue', 3)
|
||||
|
||||
class struct_pm4_mes_query_status(c.Struct): SIZE = 0
|
||||
class enum_mes_unmap_queues_action_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
action__mes_unmap_queues__preempt_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__preempt_queues', 0)
|
||||
action__mes_unmap_queues__reset_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__reset_queues', 1)
|
||||
action__mes_unmap_queues__disable_process_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__disable_process_queues', 2)
|
||||
action__mes_unmap_queues__reserved = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__reserved', 3)
|
||||
|
||||
class enum_mes_unmap_queues_queue_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
queue_sel__mes_unmap_queues__perform_request_on_specified_queues = enum_mes_unmap_queues_queue_sel_enum.define('queue_sel__mes_unmap_queues__perform_request_on_specified_queues', 0)
|
||||
queue_sel__mes_unmap_queues__perform_request_on_pasid_queues = enum_mes_unmap_queues_queue_sel_enum.define('queue_sel__mes_unmap_queues__perform_request_on_pasid_queues', 1)
|
||||
queue_sel__mes_unmap_queues__unmap_all_queues = enum_mes_unmap_queues_queue_sel_enum.define('queue_sel__mes_unmap_queues__unmap_all_queues', 2)
|
||||
queue_sel__mes_unmap_queues__unmap_all_non_static_queues = enum_mes_unmap_queues_queue_sel_enum.define('queue_sel__mes_unmap_queues__unmap_all_non_static_queues', 3)
|
||||
|
||||
class enum_mes_unmap_queues_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
engine_sel__mes_unmap_queues__compute = enum_mes_unmap_queues_engine_sel_enum.define('engine_sel__mes_unmap_queues__compute', 0)
|
||||
engine_sel__mes_unmap_queues__sdma0 = enum_mes_unmap_queues_engine_sel_enum.define('engine_sel__mes_unmap_queues__sdma0', 2)
|
||||
engine_sel__mes_unmap_queues__sdmal = enum_mes_unmap_queues_engine_sel_enum.define('engine_sel__mes_unmap_queues__sdmal', 3)
|
||||
|
||||
class enum_mes_unmap_queues_extended_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
extended_engine_sel__mes_unmap_queues__legacy_engine_sel = enum_mes_unmap_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_unmap_queues__legacy_engine_sel', 0)
|
||||
extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel = enum_mes_unmap_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel', 1)
|
||||
|
||||
class struct_pm4_mes_unmap_queues(c.Struct): SIZE = 0
|
||||
class enum_mec_release_mem_event_index_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
event_index__mec_release_mem__end_of_pipe = enum_mec_release_mem_event_index_enum.define('event_index__mec_release_mem__end_of_pipe', 5)
|
||||
event_index__mec_release_mem__shader_done = enum_mec_release_mem_event_index_enum.define('event_index__mec_release_mem__shader_done', 6)
|
||||
|
||||
class enum_mec_release_mem_cache_policy_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
cache_policy__mec_release_mem__lru = enum_mec_release_mem_cache_policy_enum.define('cache_policy__mec_release_mem__lru', 0)
|
||||
cache_policy__mec_release_mem__stream = enum_mec_release_mem_cache_policy_enum.define('cache_policy__mec_release_mem__stream', 1)
|
||||
|
||||
class enum_mec_release_mem_pq_exe_status_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
pq_exe_status__mec_release_mem__default = enum_mec_release_mem_pq_exe_status_enum.define('pq_exe_status__mec_release_mem__default', 0)
|
||||
pq_exe_status__mec_release_mem__phase_update = enum_mec_release_mem_pq_exe_status_enum.define('pq_exe_status__mec_release_mem__phase_update', 1)
|
||||
|
||||
class enum_mec_release_mem_dst_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
dst_sel__mec_release_mem__memory_controller = enum_mec_release_mem_dst_sel_enum.define('dst_sel__mec_release_mem__memory_controller', 0)
|
||||
dst_sel__mec_release_mem__tc_l2 = enum_mec_release_mem_dst_sel_enum.define('dst_sel__mec_release_mem__tc_l2', 1)
|
||||
dst_sel__mec_release_mem__queue_write_pointer_register = enum_mec_release_mem_dst_sel_enum.define('dst_sel__mec_release_mem__queue_write_pointer_register', 2)
|
||||
dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit = enum_mec_release_mem_dst_sel_enum.define('dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit', 3)
|
||||
|
||||
class enum_mec_release_mem_int_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
int_sel__mec_release_mem__none = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__none', 0)
|
||||
int_sel__mec_release_mem__send_interrupt_only = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__send_interrupt_only', 1)
|
||||
int_sel__mec_release_mem__send_interrupt_after_write_confirm = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__send_interrupt_after_write_confirm', 2)
|
||||
int_sel__mec_release_mem__send_data_after_write_confirm = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__send_data_after_write_confirm', 3)
|
||||
int_sel__mec_release_mem__unconditionally_send_int_ctxid = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__unconditionally_send_int_ctxid', 4)
|
||||
int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare', 5)
|
||||
int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare', 6)
|
||||
|
||||
class enum_mec_release_mem_data_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
data_sel__mec_release_mem__none = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__none', 0)
|
||||
data_sel__mec_release_mem__send_32_bit_low = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__send_32_bit_low', 1)
|
||||
data_sel__mec_release_mem__send_64_bit_data = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__send_64_bit_data', 2)
|
||||
data_sel__mec_release_mem__send_gpu_clock_counter = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__send_gpu_clock_counter', 3)
|
||||
data_sel__mec_release_mem__send_cp_perfcounter_hi_lo = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__send_cp_perfcounter_hi_lo', 4)
|
||||
data_sel__mec_release_mem__store_gds_data_to_memory = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__store_gds_data_to_memory', 5)
|
||||
|
||||
class struct_pm4_mec_release_mem(c.Struct): SIZE = 0
|
||||
class enum_WRITE_DATA_dst_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
dst_sel___write_data__mem_mapped_register = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__mem_mapped_register', 0)
|
||||
dst_sel___write_data__tc_l2 = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__tc_l2', 2)
|
||||
dst_sel___write_data__gds = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__gds', 3)
|
||||
dst_sel___write_data__memory = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__memory', 5)
|
||||
dst_sel___write_data__memory_mapped_adc_persistent_state = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__memory_mapped_adc_persistent_state', 6)
|
||||
|
||||
class enum_WRITE_DATA_addr_incr_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
addr_incr___write_data__increment_address = enum_WRITE_DATA_addr_incr_enum.define('addr_incr___write_data__increment_address', 0)
|
||||
addr_incr___write_data__do_not_increment_address = enum_WRITE_DATA_addr_incr_enum.define('addr_incr___write_data__do_not_increment_address', 1)
|
||||
|
||||
class enum_WRITE_DATA_wr_confirm_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
wr_confirm___write_data__do_not_wait_for_write_confirmation = enum_WRITE_DATA_wr_confirm_enum.define('wr_confirm___write_data__do_not_wait_for_write_confirmation', 0)
|
||||
wr_confirm___write_data__wait_for_write_confirmation = enum_WRITE_DATA_wr_confirm_enum.define('wr_confirm___write_data__wait_for_write_confirmation', 1)
|
||||
|
||||
class enum_WRITE_DATA_cache_policy_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
cache_policy___write_data__lru = enum_WRITE_DATA_cache_policy_enum.define('cache_policy___write_data__lru', 0)
|
||||
cache_policy___write_data__stream = enum_WRITE_DATA_cache_policy_enum.define('cache_policy___write_data__stream', 1)
|
||||
|
||||
class struct_pm4_mec_write_data_mmio(c.Struct): SIZE = 0
|
||||
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
CACHE_FLUSH_AND_INV_TS_EVENT = _anonenum0.define('CACHE_FLUSH_AND_INV_TS_EVENT', 20)
|
||||
|
||||
c.init_records()
|
||||
class union_PM4_MES_TYPE_3_HEADER(c.Struct): pass
|
||||
enum_mes_set_resources_queue_type_enum: dict[int, str] = {(queue_type__mes_set_resources__kernel_interface_queue_kiq:=0): 'queue_type__mes_set_resources__kernel_interface_queue_kiq', (queue_type__mes_set_resources__hsa_interface_queue_hiq:=1): 'queue_type__mes_set_resources__hsa_interface_queue_hiq', (queue_type__mes_set_resources__hsa_debug_interface_queue:=4): 'queue_type__mes_set_resources__hsa_debug_interface_queue'}
|
||||
class struct_pm4_mes_set_resources(c.Struct): pass
|
||||
class struct_pm4_mes_runlist(c.Struct): pass
|
||||
class struct_pm4_mes_map_process(c.Struct): pass
|
||||
class struct_PM4_MES_MAP_PROCESS_VM(c.Struct): pass
|
||||
enum_mes_map_queues_queue_sel_enum: dict[int, str] = {(queue_sel__mes_map_queues__map_to_specified_queue_slots_vi:=0): 'queue_sel__mes_map_queues__map_to_specified_queue_slots_vi', (queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi:=1): 'queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi'}
|
||||
enum_mes_map_queues_queue_type_enum: dict[int, str] = {(queue_type__mes_map_queues__normal_compute_vi:=0): 'queue_type__mes_map_queues__normal_compute_vi', (queue_type__mes_map_queues__debug_interface_queue_vi:=1): 'queue_type__mes_map_queues__debug_interface_queue_vi', (queue_type__mes_map_queues__normal_latency_static_queue_vi:=2): 'queue_type__mes_map_queues__normal_latency_static_queue_vi', (queue_type__mes_map_queues__low_latency_static_queue_vi:=3): 'queue_type__mes_map_queues__low_latency_static_queue_vi'}
|
||||
enum_mes_map_queues_engine_sel_enum: dict[int, str] = {(engine_sel__mes_map_queues__compute_vi:=0): 'engine_sel__mes_map_queues__compute_vi', (engine_sel__mes_map_queues__sdma0_vi:=2): 'engine_sel__mes_map_queues__sdma0_vi', (engine_sel__mes_map_queues__sdma1_vi:=3): 'engine_sel__mes_map_queues__sdma1_vi'}
|
||||
enum_mes_map_queues_extended_engine_sel_enum: dict[int, str] = {(extended_engine_sel__mes_map_queues__legacy_engine_sel:=0): 'extended_engine_sel__mes_map_queues__legacy_engine_sel', (extended_engine_sel__mes_map_queues__sdma0_to_7_sel:=1): 'extended_engine_sel__mes_map_queues__sdma0_to_7_sel', (extended_engine_sel__mes_map_queues__sdma8_to_15_sel:=2): 'extended_engine_sel__mes_map_queues__sdma8_to_15_sel'}
|
||||
class struct_pm4_mes_map_queues(c.Struct): pass
|
||||
enum_mes_query_status_interrupt_sel_enum: dict[int, str] = {(interrupt_sel__mes_query_status__completion_status:=0): 'interrupt_sel__mes_query_status__completion_status', (interrupt_sel__mes_query_status__process_status:=1): 'interrupt_sel__mes_query_status__process_status', (interrupt_sel__mes_query_status__queue_status:=2): 'interrupt_sel__mes_query_status__queue_status'}
|
||||
enum_mes_query_status_command_enum: dict[int, str] = {(command__mes_query_status__interrupt_only:=0): 'command__mes_query_status__interrupt_only', (command__mes_query_status__fence_only_immediate:=1): 'command__mes_query_status__fence_only_immediate', (command__mes_query_status__fence_only_after_write_ack:=2): 'command__mes_query_status__fence_only_after_write_ack', (command__mes_query_status__fence_wait_for_write_ack_send_interrupt:=3): 'command__mes_query_status__fence_wait_for_write_ack_send_interrupt'}
|
||||
enum_mes_query_status_engine_sel_enum: dict[int, str] = {(engine_sel__mes_query_status__compute:=0): 'engine_sel__mes_query_status__compute', (engine_sel__mes_query_status__sdma0_queue:=2): 'engine_sel__mes_query_status__sdma0_queue', (engine_sel__mes_query_status__sdma1_queue:=3): 'engine_sel__mes_query_status__sdma1_queue'}
|
||||
class struct_pm4_mes_query_status(c.Struct): pass
|
||||
enum_mes_unmap_queues_action_enum: dict[int, str] = {(action__mes_unmap_queues__preempt_queues:=0): 'action__mes_unmap_queues__preempt_queues', (action__mes_unmap_queues__reset_queues:=1): 'action__mes_unmap_queues__reset_queues', (action__mes_unmap_queues__disable_process_queues:=2): 'action__mes_unmap_queues__disable_process_queues', (action__mes_unmap_queues__reserved:=3): 'action__mes_unmap_queues__reserved'}
|
||||
enum_mes_unmap_queues_queue_sel_enum: dict[int, str] = {(queue_sel__mes_unmap_queues__perform_request_on_specified_queues:=0): 'queue_sel__mes_unmap_queues__perform_request_on_specified_queues', (queue_sel__mes_unmap_queues__perform_request_on_pasid_queues:=1): 'queue_sel__mes_unmap_queues__perform_request_on_pasid_queues', (queue_sel__mes_unmap_queues__unmap_all_queues:=2): 'queue_sel__mes_unmap_queues__unmap_all_queues', (queue_sel__mes_unmap_queues__unmap_all_non_static_queues:=3): 'queue_sel__mes_unmap_queues__unmap_all_non_static_queues'}
|
||||
enum_mes_unmap_queues_engine_sel_enum: dict[int, str] = {(engine_sel__mes_unmap_queues__compute:=0): 'engine_sel__mes_unmap_queues__compute', (engine_sel__mes_unmap_queues__sdma0:=2): 'engine_sel__mes_unmap_queues__sdma0', (engine_sel__mes_unmap_queues__sdmal:=3): 'engine_sel__mes_unmap_queues__sdmal'}
|
||||
enum_mes_unmap_queues_extended_engine_sel_enum: dict[int, str] = {(extended_engine_sel__mes_unmap_queues__legacy_engine_sel:=0): 'extended_engine_sel__mes_unmap_queues__legacy_engine_sel', (extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel:=1): 'extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel'}
|
||||
class struct_pm4_mes_unmap_queues(c.Struct): pass
|
||||
enum_mec_release_mem_event_index_enum: dict[int, str] = {(event_index__mec_release_mem__end_of_pipe:=5): 'event_index__mec_release_mem__end_of_pipe', (event_index__mec_release_mem__shader_done:=6): 'event_index__mec_release_mem__shader_done'}
|
||||
enum_mec_release_mem_cache_policy_enum: dict[int, str] = {(cache_policy__mec_release_mem__lru:=0): 'cache_policy__mec_release_mem__lru', (cache_policy__mec_release_mem__stream:=1): 'cache_policy__mec_release_mem__stream'}
|
||||
enum_mec_release_mem_pq_exe_status_enum: dict[int, str] = {(pq_exe_status__mec_release_mem__default:=0): 'pq_exe_status__mec_release_mem__default', (pq_exe_status__mec_release_mem__phase_update:=1): 'pq_exe_status__mec_release_mem__phase_update'}
|
||||
enum_mec_release_mem_dst_sel_enum: dict[int, str] = {(dst_sel__mec_release_mem__memory_controller:=0): 'dst_sel__mec_release_mem__memory_controller', (dst_sel__mec_release_mem__tc_l2:=1): 'dst_sel__mec_release_mem__tc_l2', (dst_sel__mec_release_mem__queue_write_pointer_register:=2): 'dst_sel__mec_release_mem__queue_write_pointer_register', (dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit:=3): 'dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit'}
|
||||
enum_mec_release_mem_int_sel_enum: dict[int, str] = {(int_sel__mec_release_mem__none:=0): 'int_sel__mec_release_mem__none', (int_sel__mec_release_mem__send_interrupt_only:=1): 'int_sel__mec_release_mem__send_interrupt_only', (int_sel__mec_release_mem__send_interrupt_after_write_confirm:=2): 'int_sel__mec_release_mem__send_interrupt_after_write_confirm', (int_sel__mec_release_mem__send_data_after_write_confirm:=3): 'int_sel__mec_release_mem__send_data_after_write_confirm', (int_sel__mec_release_mem__unconditionally_send_int_ctxid:=4): 'int_sel__mec_release_mem__unconditionally_send_int_ctxid', (int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare:=5): 'int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare', (int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare:=6): 'int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare'}
|
||||
enum_mec_release_mem_data_sel_enum: dict[int, str] = {(data_sel__mec_release_mem__none:=0): 'data_sel__mec_release_mem__none', (data_sel__mec_release_mem__send_32_bit_low:=1): 'data_sel__mec_release_mem__send_32_bit_low', (data_sel__mec_release_mem__send_64_bit_data:=2): 'data_sel__mec_release_mem__send_64_bit_data', (data_sel__mec_release_mem__send_gpu_clock_counter:=3): 'data_sel__mec_release_mem__send_gpu_clock_counter', (data_sel__mec_release_mem__send_cp_perfcounter_hi_lo:=4): 'data_sel__mec_release_mem__send_cp_perfcounter_hi_lo', (data_sel__mec_release_mem__store_gds_data_to_memory:=5): 'data_sel__mec_release_mem__store_gds_data_to_memory'}
|
||||
class struct_pm4_mec_release_mem(c.Struct): pass
|
||||
enum_WRITE_DATA_dst_sel_enum: dict[int, str] = {(dst_sel___write_data__mem_mapped_register:=0): 'dst_sel___write_data__mem_mapped_register', (dst_sel___write_data__tc_l2:=2): 'dst_sel___write_data__tc_l2', (dst_sel___write_data__gds:=3): 'dst_sel___write_data__gds', (dst_sel___write_data__memory:=5): 'dst_sel___write_data__memory', (dst_sel___write_data__memory_mapped_adc_persistent_state:=6): 'dst_sel___write_data__memory_mapped_adc_persistent_state'}
|
||||
enum_WRITE_DATA_addr_incr_enum: dict[int, str] = {(addr_incr___write_data__increment_address:=0): 'addr_incr___write_data__increment_address', (addr_incr___write_data__do_not_increment_address:=1): 'addr_incr___write_data__do_not_increment_address'}
|
||||
enum_WRITE_DATA_wr_confirm_enum: dict[int, str] = {(wr_confirm___write_data__do_not_wait_for_write_confirmation:=0): 'wr_confirm___write_data__do_not_wait_for_write_confirmation', (wr_confirm___write_data__wait_for_write_confirmation:=1): 'wr_confirm___write_data__wait_for_write_confirmation'}
|
||||
enum_WRITE_DATA_cache_policy_enum: dict[int, str] = {(cache_policy___write_data__lru:=0): 'cache_policy___write_data__lru', (cache_policy___write_data__stream:=1): 'cache_policy___write_data__stream'}
|
||||
class struct_pm4_mec_write_data_mmio(c.Struct): pass
|
||||
_anonenum0: dict[int, str] = {(CACHE_FLUSH_AND_INV_TS_EVENT:=20): 'CACHE_FLUSH_AND_INV_TS_EVENT'}
|
||||
PACKET_TYPE0 = 0 # type: ignore
|
||||
PACKET_TYPE1 = 1 # type: ignore
|
||||
PACKET_TYPE2 = 2 # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,139 +1,42 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
class union_PM4_MES_TYPE_3_HEADER(c.Struct): SIZE = 0
|
||||
class enum_mes_set_resources_queue_type_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
queue_type__mes_set_resources__kernel_interface_queue_kiq = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__kernel_interface_queue_kiq', 0)
|
||||
queue_type__mes_set_resources__hsa_interface_queue_hiq = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__hsa_interface_queue_hiq', 1)
|
||||
queue_type__mes_set_resources__hsa_debug_interface_queue = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__hsa_debug_interface_queue', 4)
|
||||
|
||||
class struct_pm4_mes_set_resources(c.Struct): SIZE = 0
|
||||
class struct_pm4_mes_runlist(c.Struct): SIZE = 0
|
||||
class struct_pm4_mes_map_process(c.Struct): SIZE = 0
|
||||
class struct_PM4_MES_MAP_PROCESS_VM(c.Struct): SIZE = 0
|
||||
class enum_mes_map_queues_queue_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
queue_sel__mes_map_queues__map_to_specified_queue_slots_vi = enum_mes_map_queues_queue_sel_enum.define('queue_sel__mes_map_queues__map_to_specified_queue_slots_vi', 0)
|
||||
queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi = enum_mes_map_queues_queue_sel_enum.define('queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi', 1)
|
||||
|
||||
class enum_mes_map_queues_queue_type_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
queue_type__mes_map_queues__normal_compute_vi = enum_mes_map_queues_queue_type_enum.define('queue_type__mes_map_queues__normal_compute_vi', 0)
|
||||
queue_type__mes_map_queues__debug_interface_queue_vi = enum_mes_map_queues_queue_type_enum.define('queue_type__mes_map_queues__debug_interface_queue_vi', 1)
|
||||
queue_type__mes_map_queues__normal_latency_static_queue_vi = enum_mes_map_queues_queue_type_enum.define('queue_type__mes_map_queues__normal_latency_static_queue_vi', 2)
|
||||
queue_type__mes_map_queues__low_latency_static_queue_vi = enum_mes_map_queues_queue_type_enum.define('queue_type__mes_map_queues__low_latency_static_queue_vi', 3)
|
||||
|
||||
class enum_mes_map_queues_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
engine_sel__mes_map_queues__compute_vi = enum_mes_map_queues_engine_sel_enum.define('engine_sel__mes_map_queues__compute_vi', 0)
|
||||
engine_sel__mes_map_queues__sdma0_vi = enum_mes_map_queues_engine_sel_enum.define('engine_sel__mes_map_queues__sdma0_vi', 2)
|
||||
engine_sel__mes_map_queues__sdma1_vi = enum_mes_map_queues_engine_sel_enum.define('engine_sel__mes_map_queues__sdma1_vi', 3)
|
||||
|
||||
class enum_mes_map_queues_extended_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
extended_engine_sel__mes_map_queues__legacy_engine_sel = enum_mes_map_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_map_queues__legacy_engine_sel', 0)
|
||||
extended_engine_sel__mes_map_queues__sdma0_to_7_sel = enum_mes_map_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_map_queues__sdma0_to_7_sel', 1)
|
||||
extended_engine_sel__mes_map_queues__sdma8_to_15_sel = enum_mes_map_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_map_queues__sdma8_to_15_sel', 2)
|
||||
|
||||
class struct_pm4_mes_map_queues(c.Struct): SIZE = 0
|
||||
class enum_mes_query_status_interrupt_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
interrupt_sel__mes_query_status__completion_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__completion_status', 0)
|
||||
interrupt_sel__mes_query_status__process_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__process_status', 1)
|
||||
interrupt_sel__mes_query_status__queue_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__queue_status', 2)
|
||||
|
||||
class enum_mes_query_status_command_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
command__mes_query_status__interrupt_only = enum_mes_query_status_command_enum.define('command__mes_query_status__interrupt_only', 0)
|
||||
command__mes_query_status__fence_only_immediate = enum_mes_query_status_command_enum.define('command__mes_query_status__fence_only_immediate', 1)
|
||||
command__mes_query_status__fence_only_after_write_ack = enum_mes_query_status_command_enum.define('command__mes_query_status__fence_only_after_write_ack', 2)
|
||||
command__mes_query_status__fence_wait_for_write_ack_send_interrupt = enum_mes_query_status_command_enum.define('command__mes_query_status__fence_wait_for_write_ack_send_interrupt', 3)
|
||||
|
||||
class enum_mes_query_status_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
engine_sel__mes_query_status__compute = enum_mes_query_status_engine_sel_enum.define('engine_sel__mes_query_status__compute', 0)
|
||||
engine_sel__mes_query_status__sdma0_queue = enum_mes_query_status_engine_sel_enum.define('engine_sel__mes_query_status__sdma0_queue', 2)
|
||||
engine_sel__mes_query_status__sdma1_queue = enum_mes_query_status_engine_sel_enum.define('engine_sel__mes_query_status__sdma1_queue', 3)
|
||||
|
||||
class struct_pm4_mes_query_status(c.Struct): SIZE = 0
|
||||
class enum_mes_unmap_queues_action_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
action__mes_unmap_queues__preempt_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__preempt_queues', 0)
|
||||
action__mes_unmap_queues__reset_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__reset_queues', 1)
|
||||
action__mes_unmap_queues__disable_process_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__disable_process_queues', 2)
|
||||
action__mes_unmap_queues__reserved = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__reserved', 3)
|
||||
|
||||
class enum_mes_unmap_queues_queue_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
queue_sel__mes_unmap_queues__perform_request_on_specified_queues = enum_mes_unmap_queues_queue_sel_enum.define('queue_sel__mes_unmap_queues__perform_request_on_specified_queues', 0)
|
||||
queue_sel__mes_unmap_queues__perform_request_on_pasid_queues = enum_mes_unmap_queues_queue_sel_enum.define('queue_sel__mes_unmap_queues__perform_request_on_pasid_queues', 1)
|
||||
queue_sel__mes_unmap_queues__unmap_all_queues = enum_mes_unmap_queues_queue_sel_enum.define('queue_sel__mes_unmap_queues__unmap_all_queues', 2)
|
||||
queue_sel__mes_unmap_queues__unmap_all_non_static_queues = enum_mes_unmap_queues_queue_sel_enum.define('queue_sel__mes_unmap_queues__unmap_all_non_static_queues', 3)
|
||||
|
||||
class enum_mes_unmap_queues_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
engine_sel__mes_unmap_queues__compute = enum_mes_unmap_queues_engine_sel_enum.define('engine_sel__mes_unmap_queues__compute', 0)
|
||||
engine_sel__mes_unmap_queues__sdma0 = enum_mes_unmap_queues_engine_sel_enum.define('engine_sel__mes_unmap_queues__sdma0', 2)
|
||||
engine_sel__mes_unmap_queues__sdmal = enum_mes_unmap_queues_engine_sel_enum.define('engine_sel__mes_unmap_queues__sdmal', 3)
|
||||
|
||||
class enum_mes_unmap_queues_extended_engine_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
extended_engine_sel__mes_unmap_queues__legacy_engine_sel = enum_mes_unmap_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_unmap_queues__legacy_engine_sel', 0)
|
||||
extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel = enum_mes_unmap_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel', 1)
|
||||
|
||||
class struct_pm4_mes_unmap_queues(c.Struct): SIZE = 0
|
||||
class enum_mec_release_mem_event_index_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
event_index__mec_release_mem__end_of_pipe = enum_mec_release_mem_event_index_enum.define('event_index__mec_release_mem__end_of_pipe', 5)
|
||||
event_index__mec_release_mem__shader_done = enum_mec_release_mem_event_index_enum.define('event_index__mec_release_mem__shader_done', 6)
|
||||
|
||||
class enum_mec_release_mem_cache_policy_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
cache_policy__mec_release_mem__lru = enum_mec_release_mem_cache_policy_enum.define('cache_policy__mec_release_mem__lru', 0)
|
||||
cache_policy__mec_release_mem__stream = enum_mec_release_mem_cache_policy_enum.define('cache_policy__mec_release_mem__stream', 1)
|
||||
|
||||
class enum_mec_release_mem_pq_exe_status_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
pq_exe_status__mec_release_mem__default = enum_mec_release_mem_pq_exe_status_enum.define('pq_exe_status__mec_release_mem__default', 0)
|
||||
pq_exe_status__mec_release_mem__phase_update = enum_mec_release_mem_pq_exe_status_enum.define('pq_exe_status__mec_release_mem__phase_update', 1)
|
||||
|
||||
class enum_mec_release_mem_dst_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
dst_sel__mec_release_mem__memory_controller = enum_mec_release_mem_dst_sel_enum.define('dst_sel__mec_release_mem__memory_controller', 0)
|
||||
dst_sel__mec_release_mem__tc_l2 = enum_mec_release_mem_dst_sel_enum.define('dst_sel__mec_release_mem__tc_l2', 1)
|
||||
dst_sel__mec_release_mem__queue_write_pointer_register = enum_mec_release_mem_dst_sel_enum.define('dst_sel__mec_release_mem__queue_write_pointer_register', 2)
|
||||
dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit = enum_mec_release_mem_dst_sel_enum.define('dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit', 3)
|
||||
|
||||
class enum_mec_release_mem_int_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
int_sel__mec_release_mem__none = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__none', 0)
|
||||
int_sel__mec_release_mem__send_interrupt_only = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__send_interrupt_only', 1)
|
||||
int_sel__mec_release_mem__send_interrupt_after_write_confirm = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__send_interrupt_after_write_confirm', 2)
|
||||
int_sel__mec_release_mem__send_data_after_write_confirm = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__send_data_after_write_confirm', 3)
|
||||
int_sel__mec_release_mem__unconditionally_send_int_ctxid = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__unconditionally_send_int_ctxid', 4)
|
||||
int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare', 5)
|
||||
int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare = enum_mec_release_mem_int_sel_enum.define('int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare', 6)
|
||||
|
||||
class enum_mec_release_mem_data_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
data_sel__mec_release_mem__none = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__none', 0)
|
||||
data_sel__mec_release_mem__send_32_bit_low = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__send_32_bit_low', 1)
|
||||
data_sel__mec_release_mem__send_64_bit_data = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__send_64_bit_data', 2)
|
||||
data_sel__mec_release_mem__send_gpu_clock_counter = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__send_gpu_clock_counter', 3)
|
||||
data_sel__mec_release_mem__send_cp_perfcounter_hi_lo = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__send_cp_perfcounter_hi_lo', 4)
|
||||
data_sel__mec_release_mem__store_gds_data_to_memory = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__store_gds_data_to_memory', 5)
|
||||
|
||||
class struct_pm4_mec_release_mem(c.Struct): SIZE = 0
|
||||
class enum_WRITE_DATA_dst_sel_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
dst_sel___write_data__mem_mapped_register = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__mem_mapped_register', 0)
|
||||
dst_sel___write_data__tc_l2 = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__tc_l2', 2)
|
||||
dst_sel___write_data__gds = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__gds', 3)
|
||||
dst_sel___write_data__memory = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__memory', 5)
|
||||
dst_sel___write_data__memory_mapped_adc_persistent_state = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__memory_mapped_adc_persistent_state', 6)
|
||||
|
||||
class enum_WRITE_DATA_addr_incr_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
addr_incr___write_data__increment_address = enum_WRITE_DATA_addr_incr_enum.define('addr_incr___write_data__increment_address', 0)
|
||||
addr_incr___write_data__do_not_increment_address = enum_WRITE_DATA_addr_incr_enum.define('addr_incr___write_data__do_not_increment_address', 1)
|
||||
|
||||
class enum_WRITE_DATA_wr_confirm_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
wr_confirm___write_data__do_not_wait_for_write_confirmation = enum_WRITE_DATA_wr_confirm_enum.define('wr_confirm___write_data__do_not_wait_for_write_confirmation', 0)
|
||||
wr_confirm___write_data__wait_for_write_confirmation = enum_WRITE_DATA_wr_confirm_enum.define('wr_confirm___write_data__wait_for_write_confirmation', 1)
|
||||
|
||||
class enum_WRITE_DATA_cache_policy_enum(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
cache_policy___write_data__lru = enum_WRITE_DATA_cache_policy_enum.define('cache_policy___write_data__lru', 0)
|
||||
cache_policy___write_data__stream = enum_WRITE_DATA_cache_policy_enum.define('cache_policy___write_data__stream', 1)
|
||||
|
||||
class struct_pm4_mec_write_data_mmio(c.Struct): SIZE = 0
|
||||
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
CACHE_FLUSH_AND_INV_TS_EVENT = _anonenum0.define('CACHE_FLUSH_AND_INV_TS_EVENT', 20)
|
||||
|
||||
c.init_records()
|
||||
class union_PM4_MES_TYPE_3_HEADER(c.Struct): pass
|
||||
enum_mes_set_resources_queue_type_enum: dict[int, str] = {(queue_type__mes_set_resources__kernel_interface_queue_kiq:=0): 'queue_type__mes_set_resources__kernel_interface_queue_kiq', (queue_type__mes_set_resources__hsa_interface_queue_hiq:=1): 'queue_type__mes_set_resources__hsa_interface_queue_hiq', (queue_type__mes_set_resources__hsa_debug_interface_queue:=4): 'queue_type__mes_set_resources__hsa_debug_interface_queue'}
|
||||
class struct_pm4_mes_set_resources(c.Struct): pass
|
||||
class struct_pm4_mes_runlist(c.Struct): pass
|
||||
class struct_pm4_mes_map_process(c.Struct): pass
|
||||
class struct_PM4_MES_MAP_PROCESS_VM(c.Struct): pass
|
||||
enum_mes_map_queues_queue_sel_enum: dict[int, str] = {(queue_sel__mes_map_queues__map_to_specified_queue_slots_vi:=0): 'queue_sel__mes_map_queues__map_to_specified_queue_slots_vi', (queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi:=1): 'queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi'}
|
||||
enum_mes_map_queues_queue_type_enum: dict[int, str] = {(queue_type__mes_map_queues__normal_compute_vi:=0): 'queue_type__mes_map_queues__normal_compute_vi', (queue_type__mes_map_queues__debug_interface_queue_vi:=1): 'queue_type__mes_map_queues__debug_interface_queue_vi', (queue_type__mes_map_queues__normal_latency_static_queue_vi:=2): 'queue_type__mes_map_queues__normal_latency_static_queue_vi', (queue_type__mes_map_queues__low_latency_static_queue_vi:=3): 'queue_type__mes_map_queues__low_latency_static_queue_vi'}
|
||||
enum_mes_map_queues_engine_sel_enum: dict[int, str] = {(engine_sel__mes_map_queues__compute_vi:=0): 'engine_sel__mes_map_queues__compute_vi', (engine_sel__mes_map_queues__sdma0_vi:=2): 'engine_sel__mes_map_queues__sdma0_vi', (engine_sel__mes_map_queues__sdma1_vi:=3): 'engine_sel__mes_map_queues__sdma1_vi'}
|
||||
enum_mes_map_queues_extended_engine_sel_enum: dict[int, str] = {(extended_engine_sel__mes_map_queues__legacy_engine_sel:=0): 'extended_engine_sel__mes_map_queues__legacy_engine_sel', (extended_engine_sel__mes_map_queues__sdma0_to_7_sel:=1): 'extended_engine_sel__mes_map_queues__sdma0_to_7_sel', (extended_engine_sel__mes_map_queues__sdma8_to_15_sel:=2): 'extended_engine_sel__mes_map_queues__sdma8_to_15_sel'}
|
||||
class struct_pm4_mes_map_queues(c.Struct): pass
|
||||
enum_mes_query_status_interrupt_sel_enum: dict[int, str] = {(interrupt_sel__mes_query_status__completion_status:=0): 'interrupt_sel__mes_query_status__completion_status', (interrupt_sel__mes_query_status__process_status:=1): 'interrupt_sel__mes_query_status__process_status', (interrupt_sel__mes_query_status__queue_status:=2): 'interrupt_sel__mes_query_status__queue_status'}
|
||||
enum_mes_query_status_command_enum: dict[int, str] = {(command__mes_query_status__interrupt_only:=0): 'command__mes_query_status__interrupt_only', (command__mes_query_status__fence_only_immediate:=1): 'command__mes_query_status__fence_only_immediate', (command__mes_query_status__fence_only_after_write_ack:=2): 'command__mes_query_status__fence_only_after_write_ack', (command__mes_query_status__fence_wait_for_write_ack_send_interrupt:=3): 'command__mes_query_status__fence_wait_for_write_ack_send_interrupt'}
|
||||
enum_mes_query_status_engine_sel_enum: dict[int, str] = {(engine_sel__mes_query_status__compute:=0): 'engine_sel__mes_query_status__compute', (engine_sel__mes_query_status__sdma0_queue:=2): 'engine_sel__mes_query_status__sdma0_queue', (engine_sel__mes_query_status__sdma1_queue:=3): 'engine_sel__mes_query_status__sdma1_queue'}
|
||||
class struct_pm4_mes_query_status(c.Struct): pass
|
||||
enum_mes_unmap_queues_action_enum: dict[int, str] = {(action__mes_unmap_queues__preempt_queues:=0): 'action__mes_unmap_queues__preempt_queues', (action__mes_unmap_queues__reset_queues:=1): 'action__mes_unmap_queues__reset_queues', (action__mes_unmap_queues__disable_process_queues:=2): 'action__mes_unmap_queues__disable_process_queues', (action__mes_unmap_queues__reserved:=3): 'action__mes_unmap_queues__reserved'}
|
||||
enum_mes_unmap_queues_queue_sel_enum: dict[int, str] = {(queue_sel__mes_unmap_queues__perform_request_on_specified_queues:=0): 'queue_sel__mes_unmap_queues__perform_request_on_specified_queues', (queue_sel__mes_unmap_queues__perform_request_on_pasid_queues:=1): 'queue_sel__mes_unmap_queues__perform_request_on_pasid_queues', (queue_sel__mes_unmap_queues__unmap_all_queues:=2): 'queue_sel__mes_unmap_queues__unmap_all_queues', (queue_sel__mes_unmap_queues__unmap_all_non_static_queues:=3): 'queue_sel__mes_unmap_queues__unmap_all_non_static_queues'}
|
||||
enum_mes_unmap_queues_engine_sel_enum: dict[int, str] = {(engine_sel__mes_unmap_queues__compute:=0): 'engine_sel__mes_unmap_queues__compute', (engine_sel__mes_unmap_queues__sdma0:=2): 'engine_sel__mes_unmap_queues__sdma0', (engine_sel__mes_unmap_queues__sdmal:=3): 'engine_sel__mes_unmap_queues__sdmal'}
|
||||
enum_mes_unmap_queues_extended_engine_sel_enum: dict[int, str] = {(extended_engine_sel__mes_unmap_queues__legacy_engine_sel:=0): 'extended_engine_sel__mes_unmap_queues__legacy_engine_sel', (extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel:=1): 'extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel'}
|
||||
class struct_pm4_mes_unmap_queues(c.Struct): pass
|
||||
enum_mec_release_mem_event_index_enum: dict[int, str] = {(event_index__mec_release_mem__end_of_pipe:=5): 'event_index__mec_release_mem__end_of_pipe', (event_index__mec_release_mem__shader_done:=6): 'event_index__mec_release_mem__shader_done'}
|
||||
enum_mec_release_mem_cache_policy_enum: dict[int, str] = {(cache_policy__mec_release_mem__lru:=0): 'cache_policy__mec_release_mem__lru', (cache_policy__mec_release_mem__stream:=1): 'cache_policy__mec_release_mem__stream'}
|
||||
enum_mec_release_mem_pq_exe_status_enum: dict[int, str] = {(pq_exe_status__mec_release_mem__default:=0): 'pq_exe_status__mec_release_mem__default', (pq_exe_status__mec_release_mem__phase_update:=1): 'pq_exe_status__mec_release_mem__phase_update'}
|
||||
enum_mec_release_mem_dst_sel_enum: dict[int, str] = {(dst_sel__mec_release_mem__memory_controller:=0): 'dst_sel__mec_release_mem__memory_controller', (dst_sel__mec_release_mem__tc_l2:=1): 'dst_sel__mec_release_mem__tc_l2', (dst_sel__mec_release_mem__queue_write_pointer_register:=2): 'dst_sel__mec_release_mem__queue_write_pointer_register', (dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit:=3): 'dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit'}
|
||||
enum_mec_release_mem_int_sel_enum: dict[int, str] = {(int_sel__mec_release_mem__none:=0): 'int_sel__mec_release_mem__none', (int_sel__mec_release_mem__send_interrupt_only:=1): 'int_sel__mec_release_mem__send_interrupt_only', (int_sel__mec_release_mem__send_interrupt_after_write_confirm:=2): 'int_sel__mec_release_mem__send_interrupt_after_write_confirm', (int_sel__mec_release_mem__send_data_after_write_confirm:=3): 'int_sel__mec_release_mem__send_data_after_write_confirm', (int_sel__mec_release_mem__unconditionally_send_int_ctxid:=4): 'int_sel__mec_release_mem__unconditionally_send_int_ctxid', (int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare:=5): 'int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare', (int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare:=6): 'int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare'}
|
||||
enum_mec_release_mem_data_sel_enum: dict[int, str] = {(data_sel__mec_release_mem__none:=0): 'data_sel__mec_release_mem__none', (data_sel__mec_release_mem__send_32_bit_low:=1): 'data_sel__mec_release_mem__send_32_bit_low', (data_sel__mec_release_mem__send_64_bit_data:=2): 'data_sel__mec_release_mem__send_64_bit_data', (data_sel__mec_release_mem__send_gpu_clock_counter:=3): 'data_sel__mec_release_mem__send_gpu_clock_counter', (data_sel__mec_release_mem__send_cp_perfcounter_hi_lo:=4): 'data_sel__mec_release_mem__send_cp_perfcounter_hi_lo', (data_sel__mec_release_mem__store_gds_data_to_memory:=5): 'data_sel__mec_release_mem__store_gds_data_to_memory'}
|
||||
class struct_pm4_mec_release_mem(c.Struct): pass
|
||||
enum_WRITE_DATA_dst_sel_enum: dict[int, str] = {(dst_sel___write_data__mem_mapped_register:=0): 'dst_sel___write_data__mem_mapped_register', (dst_sel___write_data__tc_l2:=2): 'dst_sel___write_data__tc_l2', (dst_sel___write_data__gds:=3): 'dst_sel___write_data__gds', (dst_sel___write_data__memory:=5): 'dst_sel___write_data__memory', (dst_sel___write_data__memory_mapped_adc_persistent_state:=6): 'dst_sel___write_data__memory_mapped_adc_persistent_state'}
|
||||
enum_WRITE_DATA_addr_incr_enum: dict[int, str] = {(addr_incr___write_data__increment_address:=0): 'addr_incr___write_data__increment_address', (addr_incr___write_data__do_not_increment_address:=1): 'addr_incr___write_data__do_not_increment_address'}
|
||||
enum_WRITE_DATA_wr_confirm_enum: dict[int, str] = {(wr_confirm___write_data__do_not_wait_for_write_confirmation:=0): 'wr_confirm___write_data__do_not_wait_for_write_confirmation', (wr_confirm___write_data__wait_for_write_confirmation:=1): 'wr_confirm___write_data__wait_for_write_confirmation'}
|
||||
enum_WRITE_DATA_cache_policy_enum: dict[int, str] = {(cache_policy___write_data__lru:=0): 'cache_policy___write_data__lru', (cache_policy___write_data__stream:=1): 'cache_policy___write_data__stream'}
|
||||
class struct_pm4_mec_write_data_mmio(c.Struct): pass
|
||||
_anonenum0: dict[int, str] = {(CACHE_FLUSH_AND_INV_TS_EVENT:=20): 'CACHE_FLUSH_AND_INV_TS_EVENT'}
|
||||
GFX9_NUM_GFX_RINGS = 1 # type: ignore
|
||||
GFX9_NUM_COMPUTE_RINGS = 8 # type: ignore
|
||||
PACKET_TYPE0 = 0 # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,453 +1,515 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG(c.Struct):
|
||||
SIZE = 28
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION, 0]
|
||||
COUNT_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION, 4]
|
||||
PARAMETER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION, 8]
|
||||
SRC_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION, 12]
|
||||
SRC_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION, 16]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION, 20]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION, 24]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION
|
||||
COUNT_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION
|
||||
PARAMETER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION
|
||||
SRC_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION
|
||||
SRC_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
extra_info: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
extra_info: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('extra_info', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 0, 22, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 6]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
count: int
|
||||
reserved_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION.register_fields([('count', ctypes.c_uint32, 0, 22, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 6), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
dst_swap: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 2, 6, 2]
|
||||
src_swap: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
reserved_0: int
|
||||
dst_swap: int
|
||||
reserved_1: int
|
||||
src_swap: int
|
||||
reserved_2: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION.register_fields([('reserved_0', ctypes.c_uint32, 0, 16, 0), ('dst_swap', ctypes.c_uint32, 2, 2, 0), ('reserved_1', ctypes.c_uint32, 2, 6, 2), ('src_swap', ctypes.c_uint32, 3, 2, 0), ('reserved_2', ctypes.c_uint32, 3, 6, 2), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION.register_fields([('src_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_63_32: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION.register_fields([('src_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION, 0), ('COUNT_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION, 4), ('PARAMETER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION, 8), ('SRC_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION, 12), ('SRC_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION, 16), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION, 20), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION, 24)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR: TypeAlias = rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG(c.Struct):
|
||||
SIZE = 52
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION, 0]
|
||||
SRC_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION, 4]
|
||||
SRC_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION, 8]
|
||||
SRC_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION, 12]
|
||||
SRC_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION, 16]
|
||||
SRC_PARAMETER_3_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION, 20]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION, 24]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION, 28]
|
||||
DST_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION, 32]
|
||||
DST_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION, 36]
|
||||
DST_PARAMETER_3_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION, 40]
|
||||
RECT_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION, 44]
|
||||
RECT_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION, 48]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION
|
||||
SRC_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION
|
||||
SRC_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION
|
||||
SRC_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION
|
||||
SRC_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION
|
||||
SRC_PARAMETER_3_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION
|
||||
DST_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION
|
||||
DST_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION
|
||||
DST_PARAMETER_3_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION
|
||||
RECT_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION
|
||||
RECT_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 2, 13, 0]
|
||||
element: Annotated[Annotated[int, ctypes.c_uint32], 3, 3, 5]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved: int
|
||||
element: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved', ctypes.c_uint32, 2, 13, 0), ('element', ctypes.c_uint32, 3, 3, 5), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION.register_fields([('src_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION.register_fields([('src_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_offset_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
src_offset_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_offset_x: int
|
||||
reserved_1: int
|
||||
src_offset_y: int
|
||||
reserved_2: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION.register_fields([('src_offset_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('src_offset_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_offset_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 3]
|
||||
src_pitch: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_offset_z: int
|
||||
reserved_1: int
|
||||
src_pitch: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION.register_fields([('src_offset_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 3), ('src_pitch', ctypes.c_uint32, 1, 19, 5), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_slice_pitch: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_slice_pitch: int
|
||||
reserved_1: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION.register_fields([('src_slice_pitch', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_7_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_7_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_7_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_offset_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
dst_offset_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_8_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_offset_x: int
|
||||
reserved_1: int
|
||||
dst_offset_y: int
|
||||
reserved_2: int
|
||||
DW_8_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION.register_fields([('dst_offset_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('dst_offset_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_8_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_offset_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 3]
|
||||
dst_pitch: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_9_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_offset_z: int
|
||||
reserved_1: int
|
||||
dst_pitch: int
|
||||
DW_9_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION.register_fields([('dst_offset_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 3), ('dst_pitch', ctypes.c_uint32, 1, 19, 5), ('DW_9_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_slice_pitch: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_10_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_slice_pitch: int
|
||||
reserved_1: int
|
||||
DW_10_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION.register_fields([('dst_slice_pitch', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_10_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
rect_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
rect_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_11_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
rect_x: int
|
||||
reserved_1: int
|
||||
rect_y: int
|
||||
reserved_2: int
|
||||
DW_11_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION.register_fields([('rect_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('rect_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_11_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
rect_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 5, 3]
|
||||
dst_swap: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 2, 6, 2]
|
||||
src_swap: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_3: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_12_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
rect_z: int
|
||||
reserved_1: int
|
||||
dst_swap: int
|
||||
reserved_2: int
|
||||
src_swap: int
|
||||
reserved_3: int
|
||||
DW_12_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION.register_fields([('rect_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 5, 3), ('dst_swap', ctypes.c_uint32, 2, 2, 0), ('reserved_2', ctypes.c_uint32, 2, 6, 2), ('src_swap', ctypes.c_uint32, 3, 2, 0), ('reserved_3', ctypes.c_uint32, 3, 6, 2), ('DW_12_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION, 0), ('SRC_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION, 4), ('SRC_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION, 8), ('SRC_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION, 12), ('SRC_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION, 16), ('SRC_PARAMETER_3_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION, 20), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION, 24), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION, 28), ('DST_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION, 32), ('DST_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION, 36), ('DST_PARAMETER_3_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION, 40), ('RECT_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION, 44), ('RECT_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION, 48)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT: TypeAlias = rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG(c.Struct):
|
||||
SIZE = 20
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION, 0]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION, 4]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION, 8]
|
||||
DATA_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION, 12]
|
||||
COUNT_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION, 16]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION
|
||||
DATA_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION
|
||||
COUNT_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
sw: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 12, 2]
|
||||
fillsize: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
sw: int
|
||||
reserved_0: int
|
||||
fillsize: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('sw', ctypes.c_uint32, 2, 2, 0), ('reserved_0', ctypes.c_uint32, 2, 12, 2), ('fillsize', ctypes.c_uint32, 3, 2, 6), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION.register_fields([('src_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 0, 22, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 6]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
count: int
|
||||
reserved_0: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION.register_fields([('count', ctypes.c_uint32, 0, 22, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 6), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION, 0), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION, 4), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION, 8), ('DATA_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION, 12), ('COUNT_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION, 16)])
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL: TypeAlias = rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG(c.Struct):
|
||||
SIZE = 16
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION, 8]
|
||||
DATA_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION, 12]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION
|
||||
DATA_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
mtype: Annotated[Annotated[int, ctypes.c_uint32], 2, 3, 0]
|
||||
gcc: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 3]
|
||||
sys: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 4]
|
||||
pad1: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 5]
|
||||
snp: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 6]
|
||||
gpa: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 7]
|
||||
l2_policy: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
mtype: int
|
||||
gcc: int
|
||||
sys: int
|
||||
pad1: int
|
||||
snp: int
|
||||
gpa: int
|
||||
l2_policy: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('mtype', ctypes.c_uint32, 2, 3, 0), ('gcc', ctypes.c_uint32, 2, 1, 3), ('sys', ctypes.c_uint32, 2, 1, 4), ('pad1', ctypes.c_uint32, 2, 1, 5), ('snp', ctypes.c_uint32, 2, 1, 6), ('gpa', ctypes.c_uint32, 2, 1, 7), ('l2_policy', ctypes.c_uint32, 3, 2, 0), ('reserved_0', ctypes.c_uint32, 3, 6, 2), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
data: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
data: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION.register_fields([('data', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION, 8), ('DATA_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION, 12)])
|
||||
rocr_AMD_SDMA_PKT_FENCE: TypeAlias = rocr_AMD_SDMA_PKT_FENCE_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG(c.Struct):
|
||||
SIZE = 24
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION, 8]
|
||||
VALUE_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION, 12]
|
||||
MASK_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION, 16]
|
||||
DW5_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION, 20]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION
|
||||
VALUE_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION
|
||||
MASK_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION
|
||||
DW5_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 0]
|
||||
hdp_flush: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 2]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 3]
|
||||
func: Annotated[Annotated[int, ctypes.c_uint32], 3, 3, 4]
|
||||
mem_poll: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 7]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
hdp_flush: int
|
||||
reserved_1: int
|
||||
func: int
|
||||
mem_poll: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 0), ('hdp_flush', ctypes.c_uint32, 3, 1, 2), ('reserved_1', ctypes.c_uint32, 3, 1, 3), ('func', ctypes.c_uint32, 3, 3, 4), ('mem_poll', ctypes.c_uint32, 3, 1, 7), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
value: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
value: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION.register_fields([('value', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
mask: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
mask: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION.register_fields([('mask', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
interval: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
retry_count: Annotated[Annotated[int, ctypes.c_uint32], 2, 12, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
interval: int
|
||||
retry_count: int
|
||||
reserved_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION.register_fields([('interval', ctypes.c_uint32, 0, 16, 0), ('retry_count', ctypes.c_uint32, 2, 12, 0), ('reserved_0', ctypes.c_uint32, 3, 4, 4), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION, 8), ('VALUE_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION, 12), ('MASK_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION, 16), ('DW5_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION, 20)])
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM: TypeAlias = rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG(c.Struct):
|
||||
SIZE = 32
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION, 8]
|
||||
SRC_DATA_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION, 12]
|
||||
SRC_DATA_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION, 16]
|
||||
CMP_DATA_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION, 20]
|
||||
CMP_DATA_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION, 24]
|
||||
LOOP_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION, 28]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION
|
||||
SRC_DATA_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION
|
||||
SRC_DATA_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION
|
||||
CMP_DATA_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION
|
||||
CMP_DATA_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION
|
||||
LOOP_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
l: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 8, 1]
|
||||
operation: Annotated[Annotated[int, ctypes.c_uint32], 3, 7, 1]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
l: int
|
||||
reserved_0: int
|
||||
operation: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('l', ctypes.c_uint32, 2, 1, 0), ('reserved_0', ctypes.c_uint32, 2, 8, 1), ('operation', ctypes.c_uint32, 3, 7, 1), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION.register_fields([('src_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_63_32: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION.register_fields([('src_data_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
cmp_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cmp_data_31_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION.register_fields([('cmp_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
cmp_data_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cmp_data_63_32: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION.register_fields([('cmp_data_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
loop_interval: Annotated[Annotated[int, ctypes.c_uint32], 0, 13, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_7_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
loop_interval: int
|
||||
reserved_0: int
|
||||
DW_7_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION.register_fields([('loop_interval', ctypes.c_uint32, 0, 13, 0), ('reserved_0', ctypes.c_uint32, 1, 19, 5), ('DW_7_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION, 8), ('SRC_DATA_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION, 12), ('SRC_DATA_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION, 16), ('CMP_DATA_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION, 20), ('CMP_DATA_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION, 24), ('LOOP_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION, 28)])
|
||||
rocr_AMD_SDMA_PKT_ATOMIC: TypeAlias = rocr_AMD_SDMA_PKT_ATOMIC_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG(c.Struct):
|
||||
SIZE = 12
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION, 8]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION, 8)])
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP: TypeAlias = rocr_AMD_SDMA_PKT_TIMESTAMP_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG(c.Struct):
|
||||
SIZE = 8
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION, 0]
|
||||
INT_CONTEXT_UNION: Annotated[rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION, 4]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION
|
||||
INT_CONTEXT_UNION: rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
int_ctx: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
int_ctx: int
|
||||
reserved_1: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION.register_fields([('int_ctx', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION, 0), ('INT_CONTEXT_UNION', rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION, 4)])
|
||||
rocr_AMD_SDMA_PKT_TRAP: TypeAlias = rocr_AMD_SDMA_PKT_TRAP_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG(c.Struct):
|
||||
SIZE = 24
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
DW_0_DATA: int
|
||||
DW_1_DATA: int
|
||||
DW_2_DATA: int
|
||||
DW_3_DATA: int
|
||||
DW_4_DATA: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG.register_fields([('DW_0_DATA', ctypes.c_uint32, 0), ('DW_1_DATA', ctypes.c_uint32, 4), ('DW_2_DATA', ctypes.c_uint32, 8), ('DW_3_DATA', ctypes.c_uint32, 12), ('DW_4_DATA', ctypes.c_uint32, 16), ('DW_5_DATA', ctypes.c_uint32, 20)])
|
||||
rocr_AMD_SDMA_PKT_HDP_FLUSH: TypeAlias = rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG(c.Struct):
|
||||
SIZE = 20
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION, 0]
|
||||
WORD1_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION, 4]
|
||||
WORD2_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION, 8]
|
||||
WORD3_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION, 12]
|
||||
WORD4_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION, 16]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION
|
||||
WORD1_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION
|
||||
WORD2_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION
|
||||
WORD3_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION
|
||||
WORD4_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
BaseVA_LO: Annotated[Annotated[int, ctypes.c_uint32], 0, 25, 7]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
BaseVA_LO: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION.register_fields([('BaseVA_LO', ctypes.c_uint32, 0, 25, 7), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
BaseVA_HI: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
GCR_CONTROL_GLI_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
GCR_CONTROL_GL1_RANGE: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 2]
|
||||
GCR_CONTROL_GLM_WB: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 4]
|
||||
GCR_CONTROL_GLM_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 5]
|
||||
GCR_CONTROL_GLK_WB: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 6]
|
||||
GCR_CONTROL_GLK_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 7]
|
||||
GCR_CONTROL_GLV_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 0]
|
||||
GCR_CONTROL_GL1_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 1]
|
||||
GCR_CONTROL_GL2_US: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 2]
|
||||
GCR_CONTROL_GL2_RANGE: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 3]
|
||||
GCR_CONTROL_GL2_DISCARD: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 5]
|
||||
GCR_CONTROL_GL2_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 6]
|
||||
GCR_CONTROL_GL2_WB: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 7]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
BaseVA_HI: int
|
||||
GCR_CONTROL_GLI_INV: int
|
||||
GCR_CONTROL_GL1_RANGE: int
|
||||
GCR_CONTROL_GLM_WB: int
|
||||
GCR_CONTROL_GLM_INV: int
|
||||
GCR_CONTROL_GLK_WB: int
|
||||
GCR_CONTROL_GLK_INV: int
|
||||
GCR_CONTROL_GLV_INV: int
|
||||
GCR_CONTROL_GL1_INV: int
|
||||
GCR_CONTROL_GL2_US: int
|
||||
GCR_CONTROL_GL2_RANGE: int
|
||||
GCR_CONTROL_GL2_DISCARD: int
|
||||
GCR_CONTROL_GL2_INV: int
|
||||
GCR_CONTROL_GL2_WB: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION.register_fields([('BaseVA_HI', ctypes.c_uint32, 0, 16, 0), ('GCR_CONTROL_GLI_INV', ctypes.c_uint32, 2, 2, 0), ('GCR_CONTROL_GL1_RANGE', ctypes.c_uint32, 2, 2, 2), ('GCR_CONTROL_GLM_WB', ctypes.c_uint32, 2, 1, 4), ('GCR_CONTROL_GLM_INV', ctypes.c_uint32, 2, 1, 5), ('GCR_CONTROL_GLK_WB', ctypes.c_uint32, 2, 1, 6), ('GCR_CONTROL_GLK_INV', ctypes.c_uint32, 2, 1, 7), ('GCR_CONTROL_GLV_INV', ctypes.c_uint32, 3, 1, 0), ('GCR_CONTROL_GL1_INV', ctypes.c_uint32, 3, 1, 1), ('GCR_CONTROL_GL2_US', ctypes.c_uint32, 3, 1, 2), ('GCR_CONTROL_GL2_RANGE', ctypes.c_uint32, 3, 2, 3), ('GCR_CONTROL_GL2_DISCARD', ctypes.c_uint32, 3, 1, 5), ('GCR_CONTROL_GL2_INV', ctypes.c_uint32, 3, 1, 6), ('GCR_CONTROL_GL2_WB', ctypes.c_uint32, 3, 1, 7), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
GCR_CONTROL_RANGE_IS_PA: Annotated[Annotated[int, ctypes.c_uint32], 0, 1, 0]
|
||||
GCR_CONTROL_SEQ: Annotated[Annotated[int, ctypes.c_uint32], 0, 2, 1]
|
||||
LimitVA_LO: Annotated[Annotated[int, ctypes.c_uint32], 0, 25, 7]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
GCR_CONTROL_RANGE_IS_PA: int
|
||||
GCR_CONTROL_SEQ: int
|
||||
LimitVA_LO: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION.register_fields([('GCR_CONTROL_RANGE_IS_PA', ctypes.c_uint32, 0, 1, 0), ('GCR_CONTROL_SEQ', ctypes.c_uint32, 0, 2, 1), ('LimitVA_LO', ctypes.c_uint32, 0, 25, 7), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
LimitVA_HI: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
VMID: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
LimitVA_HI: int
|
||||
VMID: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION.register_fields([('LimitVA_HI', ctypes.c_uint32, 0, 16, 0), ('VMID', ctypes.c_uint32, 3, 4, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION, 0), ('WORD1_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION, 4), ('WORD2_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION, 8), ('WORD3_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION, 12), ('WORD4_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION, 16)])
|
||||
rocr_AMD_SDMA_PKT_GCR: TypeAlias = rocr_AMD_SDMA_PKT_GCR_TAG
|
||||
c.init_records()
|
||||
SDMA_OP_COPY = 1 # type: ignore
|
||||
SDMA_OP_FENCE = 5 # type: ignore
|
||||
SDMA_OP_TRAP = 6 # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,453 +1,515 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG(c.Struct):
|
||||
SIZE = 28
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION, 0]
|
||||
COUNT_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION, 4]
|
||||
PARAMETER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION, 8]
|
||||
SRC_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION, 12]
|
||||
SRC_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION, 16]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION, 20]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION, 24]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION
|
||||
COUNT_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION
|
||||
PARAMETER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION
|
||||
SRC_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION
|
||||
SRC_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
extra_info: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
extra_info: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('extra_info', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 0, 22, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 6]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
count: int
|
||||
reserved_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION.register_fields([('count', ctypes.c_uint32, 0, 22, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 6), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
dst_swap: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 2, 6, 2]
|
||||
src_swap: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
reserved_0: int
|
||||
dst_swap: int
|
||||
reserved_1: int
|
||||
src_swap: int
|
||||
reserved_2: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION.register_fields([('reserved_0', ctypes.c_uint32, 0, 16, 0), ('dst_swap', ctypes.c_uint32, 2, 2, 0), ('reserved_1', ctypes.c_uint32, 2, 6, 2), ('src_swap', ctypes.c_uint32, 3, 2, 0), ('reserved_2', ctypes.c_uint32, 3, 6, 2), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION.register_fields([('src_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_63_32: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION.register_fields([('src_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION, 0), ('COUNT_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION, 4), ('PARAMETER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION, 8), ('SRC_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION, 12), ('SRC_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION, 16), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION, 20), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION, 24)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR: TypeAlias = rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG(c.Struct):
|
||||
SIZE = 52
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION, 0]
|
||||
SRC_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION, 4]
|
||||
SRC_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION, 8]
|
||||
SRC_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION, 12]
|
||||
SRC_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION, 16]
|
||||
SRC_PARAMETER_3_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION, 20]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION, 24]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION, 28]
|
||||
DST_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION, 32]
|
||||
DST_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION, 36]
|
||||
DST_PARAMETER_3_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION, 40]
|
||||
RECT_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION, 44]
|
||||
RECT_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION, 48]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION
|
||||
SRC_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION
|
||||
SRC_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION
|
||||
SRC_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION
|
||||
SRC_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION
|
||||
SRC_PARAMETER_3_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION
|
||||
DST_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION
|
||||
DST_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION
|
||||
DST_PARAMETER_3_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION
|
||||
RECT_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION
|
||||
RECT_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 2, 13, 0]
|
||||
element: Annotated[Annotated[int, ctypes.c_uint32], 3, 3, 5]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved: int
|
||||
element: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved', ctypes.c_uint32, 2, 13, 0), ('element', ctypes.c_uint32, 3, 3, 5), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION.register_fields([('src_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION.register_fields([('src_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_offset_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
src_offset_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_offset_x: int
|
||||
reserved_1: int
|
||||
src_offset_y: int
|
||||
reserved_2: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION.register_fields([('src_offset_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('src_offset_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_offset_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 3]
|
||||
src_pitch: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_offset_z: int
|
||||
reserved_1: int
|
||||
src_pitch: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION.register_fields([('src_offset_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 3), ('src_pitch', ctypes.c_uint32, 1, 19, 5), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_slice_pitch: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_slice_pitch: int
|
||||
reserved_1: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION.register_fields([('src_slice_pitch', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_7_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_7_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_7_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_offset_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
dst_offset_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_8_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_offset_x: int
|
||||
reserved_1: int
|
||||
dst_offset_y: int
|
||||
reserved_2: int
|
||||
DW_8_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION.register_fields([('dst_offset_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('dst_offset_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_8_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_offset_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 3]
|
||||
dst_pitch: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_9_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_offset_z: int
|
||||
reserved_1: int
|
||||
dst_pitch: int
|
||||
DW_9_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION.register_fields([('dst_offset_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 3), ('dst_pitch', ctypes.c_uint32, 1, 19, 5), ('DW_9_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_slice_pitch: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_10_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_slice_pitch: int
|
||||
reserved_1: int
|
||||
DW_10_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION.register_fields([('dst_slice_pitch', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_10_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
rect_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
rect_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_11_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
rect_x: int
|
||||
reserved_1: int
|
||||
rect_y: int
|
||||
reserved_2: int
|
||||
DW_11_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION.register_fields([('rect_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('rect_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_11_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
rect_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 5, 3]
|
||||
dst_swap: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 2, 6, 2]
|
||||
src_swap: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_3: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_12_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
rect_z: int
|
||||
reserved_1: int
|
||||
dst_swap: int
|
||||
reserved_2: int
|
||||
src_swap: int
|
||||
reserved_3: int
|
||||
DW_12_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION.register_fields([('rect_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 5, 3), ('dst_swap', ctypes.c_uint32, 2, 2, 0), ('reserved_2', ctypes.c_uint32, 2, 6, 2), ('src_swap', ctypes.c_uint32, 3, 2, 0), ('reserved_3', ctypes.c_uint32, 3, 6, 2), ('DW_12_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION, 0), ('SRC_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION, 4), ('SRC_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION, 8), ('SRC_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION, 12), ('SRC_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION, 16), ('SRC_PARAMETER_3_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION, 20), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION, 24), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION, 28), ('DST_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION, 32), ('DST_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION, 36), ('DST_PARAMETER_3_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION, 40), ('RECT_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION, 44), ('RECT_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION, 48)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT: TypeAlias = rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG(c.Struct):
|
||||
SIZE = 20
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION, 0]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION, 4]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION, 8]
|
||||
DATA_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION, 12]
|
||||
COUNT_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION, 16]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION
|
||||
DATA_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION
|
||||
COUNT_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
sw: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 12, 2]
|
||||
fillsize: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
sw: int
|
||||
reserved_0: int
|
||||
fillsize: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('sw', ctypes.c_uint32, 2, 2, 0), ('reserved_0', ctypes.c_uint32, 2, 12, 2), ('fillsize', ctypes.c_uint32, 3, 2, 6), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION.register_fields([('src_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 0, 22, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 6]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
count: int
|
||||
reserved_0: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION.register_fields([('count', ctypes.c_uint32, 0, 22, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 6), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION, 0), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION, 4), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION, 8), ('DATA_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION, 12), ('COUNT_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION, 16)])
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL: TypeAlias = rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG(c.Struct):
|
||||
SIZE = 16
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION, 8]
|
||||
DATA_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION, 12]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION
|
||||
DATA_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
mtype: Annotated[Annotated[int, ctypes.c_uint32], 2, 3, 0]
|
||||
gcc: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 3]
|
||||
sys: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 4]
|
||||
pad1: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 5]
|
||||
snp: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 6]
|
||||
gpa: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 7]
|
||||
l2_policy: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
mtype: int
|
||||
gcc: int
|
||||
sys: int
|
||||
pad1: int
|
||||
snp: int
|
||||
gpa: int
|
||||
l2_policy: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('mtype', ctypes.c_uint32, 2, 3, 0), ('gcc', ctypes.c_uint32, 2, 1, 3), ('sys', ctypes.c_uint32, 2, 1, 4), ('pad1', ctypes.c_uint32, 2, 1, 5), ('snp', ctypes.c_uint32, 2, 1, 6), ('gpa', ctypes.c_uint32, 2, 1, 7), ('l2_policy', ctypes.c_uint32, 3, 2, 0), ('reserved_0', ctypes.c_uint32, 3, 6, 2), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
data: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
data: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION.register_fields([('data', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION, 8), ('DATA_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION, 12)])
|
||||
rocr_AMD_SDMA_PKT_FENCE: TypeAlias = rocr_AMD_SDMA_PKT_FENCE_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG(c.Struct):
|
||||
SIZE = 24
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION, 8]
|
||||
VALUE_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION, 12]
|
||||
MASK_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION, 16]
|
||||
DW5_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION, 20]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION
|
||||
VALUE_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION
|
||||
MASK_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION
|
||||
DW5_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 0]
|
||||
hdp_flush: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 2]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 3]
|
||||
func: Annotated[Annotated[int, ctypes.c_uint32], 3, 3, 4]
|
||||
mem_poll: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 7]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
hdp_flush: int
|
||||
reserved_1: int
|
||||
func: int
|
||||
mem_poll: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 0), ('hdp_flush', ctypes.c_uint32, 3, 1, 2), ('reserved_1', ctypes.c_uint32, 3, 1, 3), ('func', ctypes.c_uint32, 3, 3, 4), ('mem_poll', ctypes.c_uint32, 3, 1, 7), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
value: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
value: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION.register_fields([('value', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
mask: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
mask: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION.register_fields([('mask', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
interval: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
retry_count: Annotated[Annotated[int, ctypes.c_uint32], 2, 12, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
interval: int
|
||||
retry_count: int
|
||||
reserved_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION.register_fields([('interval', ctypes.c_uint32, 0, 16, 0), ('retry_count', ctypes.c_uint32, 2, 12, 0), ('reserved_0', ctypes.c_uint32, 3, 4, 4), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION, 8), ('VALUE_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION, 12), ('MASK_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION, 16), ('DW5_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION, 20)])
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM: TypeAlias = rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG(c.Struct):
|
||||
SIZE = 32
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION, 8]
|
||||
SRC_DATA_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION, 12]
|
||||
SRC_DATA_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION, 16]
|
||||
CMP_DATA_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION, 20]
|
||||
CMP_DATA_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION, 24]
|
||||
LOOP_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION, 28]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION
|
||||
SRC_DATA_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION
|
||||
SRC_DATA_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION
|
||||
CMP_DATA_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION
|
||||
CMP_DATA_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION
|
||||
LOOP_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
l: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 8, 1]
|
||||
operation: Annotated[Annotated[int, ctypes.c_uint32], 3, 7, 1]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
l: int
|
||||
reserved_0: int
|
||||
operation: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('l', ctypes.c_uint32, 2, 1, 0), ('reserved_0', ctypes.c_uint32, 2, 8, 1), ('operation', ctypes.c_uint32, 3, 7, 1), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION.register_fields([('src_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_63_32: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION.register_fields([('src_data_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
cmp_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cmp_data_31_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION.register_fields([('cmp_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
cmp_data_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cmp_data_63_32: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION.register_fields([('cmp_data_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
loop_interval: Annotated[Annotated[int, ctypes.c_uint32], 0, 13, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_7_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
loop_interval: int
|
||||
reserved_0: int
|
||||
DW_7_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION.register_fields([('loop_interval', ctypes.c_uint32, 0, 13, 0), ('reserved_0', ctypes.c_uint32, 1, 19, 5), ('DW_7_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION, 8), ('SRC_DATA_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION, 12), ('SRC_DATA_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION, 16), ('CMP_DATA_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION, 20), ('CMP_DATA_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION, 24), ('LOOP_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION, 28)])
|
||||
rocr_AMD_SDMA_PKT_ATOMIC: TypeAlias = rocr_AMD_SDMA_PKT_ATOMIC_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG(c.Struct):
|
||||
SIZE = 12
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION, 8]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION, 8)])
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP: TypeAlias = rocr_AMD_SDMA_PKT_TIMESTAMP_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG(c.Struct):
|
||||
SIZE = 8
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION, 0]
|
||||
INT_CONTEXT_UNION: Annotated[rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION, 4]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION
|
||||
INT_CONTEXT_UNION: rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
int_ctx: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
int_ctx: int
|
||||
reserved_1: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION.register_fields([('int_ctx', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION, 0), ('INT_CONTEXT_UNION', rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION, 4)])
|
||||
rocr_AMD_SDMA_PKT_TRAP: TypeAlias = rocr_AMD_SDMA_PKT_TRAP_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG(c.Struct):
|
||||
SIZE = 24
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
DW_0_DATA: int
|
||||
DW_1_DATA: int
|
||||
DW_2_DATA: int
|
||||
DW_3_DATA: int
|
||||
DW_4_DATA: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG.register_fields([('DW_0_DATA', ctypes.c_uint32, 0), ('DW_1_DATA', ctypes.c_uint32, 4), ('DW_2_DATA', ctypes.c_uint32, 8), ('DW_3_DATA', ctypes.c_uint32, 12), ('DW_4_DATA', ctypes.c_uint32, 16), ('DW_5_DATA', ctypes.c_uint32, 20)])
|
||||
rocr_AMD_SDMA_PKT_HDP_FLUSH: TypeAlias = rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG(c.Struct):
|
||||
SIZE = 20
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION, 0]
|
||||
WORD1_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION, 4]
|
||||
WORD2_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION, 8]
|
||||
WORD3_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION, 12]
|
||||
WORD4_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION, 16]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION
|
||||
WORD1_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION
|
||||
WORD2_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION
|
||||
WORD3_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION
|
||||
WORD4_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
BaseVA_LO: Annotated[Annotated[int, ctypes.c_uint32], 0, 25, 7]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
BaseVA_LO: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION.register_fields([('BaseVA_LO', ctypes.c_uint32, 0, 25, 7), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
BaseVA_HI: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
GCR_CONTROL_GLI_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
GCR_CONTROL_GL1_RANGE: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 2]
|
||||
GCR_CONTROL_GLM_WB: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 4]
|
||||
GCR_CONTROL_GLM_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 5]
|
||||
GCR_CONTROL_GLK_WB: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 6]
|
||||
GCR_CONTROL_GLK_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 7]
|
||||
GCR_CONTROL_GLV_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 0]
|
||||
GCR_CONTROL_GL1_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 1]
|
||||
GCR_CONTROL_GL2_US: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 2]
|
||||
GCR_CONTROL_GL2_RANGE: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 3]
|
||||
GCR_CONTROL_GL2_DISCARD: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 5]
|
||||
GCR_CONTROL_GL2_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 6]
|
||||
GCR_CONTROL_GL2_WB: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 7]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
BaseVA_HI: int
|
||||
GCR_CONTROL_GLI_INV: int
|
||||
GCR_CONTROL_GL1_RANGE: int
|
||||
GCR_CONTROL_GLM_WB: int
|
||||
GCR_CONTROL_GLM_INV: int
|
||||
GCR_CONTROL_GLK_WB: int
|
||||
GCR_CONTROL_GLK_INV: int
|
||||
GCR_CONTROL_GLV_INV: int
|
||||
GCR_CONTROL_GL1_INV: int
|
||||
GCR_CONTROL_GL2_US: int
|
||||
GCR_CONTROL_GL2_RANGE: int
|
||||
GCR_CONTROL_GL2_DISCARD: int
|
||||
GCR_CONTROL_GL2_INV: int
|
||||
GCR_CONTROL_GL2_WB: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION.register_fields([('BaseVA_HI', ctypes.c_uint32, 0, 16, 0), ('GCR_CONTROL_GLI_INV', ctypes.c_uint32, 2, 2, 0), ('GCR_CONTROL_GL1_RANGE', ctypes.c_uint32, 2, 2, 2), ('GCR_CONTROL_GLM_WB', ctypes.c_uint32, 2, 1, 4), ('GCR_CONTROL_GLM_INV', ctypes.c_uint32, 2, 1, 5), ('GCR_CONTROL_GLK_WB', ctypes.c_uint32, 2, 1, 6), ('GCR_CONTROL_GLK_INV', ctypes.c_uint32, 2, 1, 7), ('GCR_CONTROL_GLV_INV', ctypes.c_uint32, 3, 1, 0), ('GCR_CONTROL_GL1_INV', ctypes.c_uint32, 3, 1, 1), ('GCR_CONTROL_GL2_US', ctypes.c_uint32, 3, 1, 2), ('GCR_CONTROL_GL2_RANGE', ctypes.c_uint32, 3, 2, 3), ('GCR_CONTROL_GL2_DISCARD', ctypes.c_uint32, 3, 1, 5), ('GCR_CONTROL_GL2_INV', ctypes.c_uint32, 3, 1, 6), ('GCR_CONTROL_GL2_WB', ctypes.c_uint32, 3, 1, 7), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
GCR_CONTROL_RANGE_IS_PA: Annotated[Annotated[int, ctypes.c_uint32], 0, 1, 0]
|
||||
GCR_CONTROL_SEQ: Annotated[Annotated[int, ctypes.c_uint32], 0, 2, 1]
|
||||
LimitVA_LO: Annotated[Annotated[int, ctypes.c_uint32], 0, 25, 7]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
GCR_CONTROL_RANGE_IS_PA: int
|
||||
GCR_CONTROL_SEQ: int
|
||||
LimitVA_LO: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION.register_fields([('GCR_CONTROL_RANGE_IS_PA', ctypes.c_uint32, 0, 1, 0), ('GCR_CONTROL_SEQ', ctypes.c_uint32, 0, 2, 1), ('LimitVA_LO', ctypes.c_uint32, 0, 25, 7), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
LimitVA_HI: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
VMID: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
LimitVA_HI: int
|
||||
VMID: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION.register_fields([('LimitVA_HI', ctypes.c_uint32, 0, 16, 0), ('VMID', ctypes.c_uint32, 3, 4, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION, 0), ('WORD1_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION, 4), ('WORD2_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION, 8), ('WORD3_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION, 12), ('WORD4_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION, 16)])
|
||||
rocr_AMD_SDMA_PKT_GCR: TypeAlias = rocr_AMD_SDMA_PKT_GCR_TAG
|
||||
c.init_records()
|
||||
SDMA_OP_COPY = 1 # type: ignore
|
||||
SDMA_OP_FENCE = 5 # type: ignore
|
||||
SDMA_OP_TRAP = 6 # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,453 +1,515 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG(c.Struct):
|
||||
SIZE = 28
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION, 0]
|
||||
COUNT_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION, 4]
|
||||
PARAMETER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION, 8]
|
||||
SRC_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION, 12]
|
||||
SRC_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION, 16]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION, 20]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION, 24]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION
|
||||
COUNT_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION
|
||||
PARAMETER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION
|
||||
SRC_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION
|
||||
SRC_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
extra_info: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
extra_info: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('extra_info', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 0, 22, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 6]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
count: int
|
||||
reserved_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION.register_fields([('count', ctypes.c_uint32, 0, 22, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 6), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
dst_swap: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 2, 6, 2]
|
||||
src_swap: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
reserved_0: int
|
||||
dst_swap: int
|
||||
reserved_1: int
|
||||
src_swap: int
|
||||
reserved_2: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION.register_fields([('reserved_0', ctypes.c_uint32, 0, 16, 0), ('dst_swap', ctypes.c_uint32, 2, 2, 0), ('reserved_1', ctypes.c_uint32, 2, 6, 2), ('src_swap', ctypes.c_uint32, 3, 2, 0), ('reserved_2', ctypes.c_uint32, 3, 6, 2), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION.register_fields([('src_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_63_32: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION.register_fields([('src_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION, 0), ('COUNT_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION, 4), ('PARAMETER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION, 8), ('SRC_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION, 12), ('SRC_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION, 16), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION, 20), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION, 24)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR: TypeAlias = rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG(c.Struct):
|
||||
SIZE = 52
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION, 0]
|
||||
SRC_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION, 4]
|
||||
SRC_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION, 8]
|
||||
SRC_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION, 12]
|
||||
SRC_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION, 16]
|
||||
SRC_PARAMETER_3_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION, 20]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION, 24]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION, 28]
|
||||
DST_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION, 32]
|
||||
DST_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION, 36]
|
||||
DST_PARAMETER_3_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION, 40]
|
||||
RECT_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION, 44]
|
||||
RECT_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION, 48]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION
|
||||
SRC_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION
|
||||
SRC_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION
|
||||
SRC_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION
|
||||
SRC_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION
|
||||
SRC_PARAMETER_3_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION
|
||||
DST_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION
|
||||
DST_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION
|
||||
DST_PARAMETER_3_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION
|
||||
RECT_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION
|
||||
RECT_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 2, 13, 0]
|
||||
element: Annotated[Annotated[int, ctypes.c_uint32], 3, 3, 5]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved: int
|
||||
element: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved', ctypes.c_uint32, 2, 13, 0), ('element', ctypes.c_uint32, 3, 3, 5), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION.register_fields([('src_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION.register_fields([('src_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_offset_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
src_offset_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_offset_x: int
|
||||
reserved_1: int
|
||||
src_offset_y: int
|
||||
reserved_2: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION.register_fields([('src_offset_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('src_offset_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_offset_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 3]
|
||||
src_pitch: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_offset_z: int
|
||||
reserved_1: int
|
||||
src_pitch: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION.register_fields([('src_offset_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 3), ('src_pitch', ctypes.c_uint32, 1, 19, 5), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_slice_pitch: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_slice_pitch: int
|
||||
reserved_1: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION.register_fields([('src_slice_pitch', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_7_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_7_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_7_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_offset_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
dst_offset_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_8_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_offset_x: int
|
||||
reserved_1: int
|
||||
dst_offset_y: int
|
||||
reserved_2: int
|
||||
DW_8_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION.register_fields([('dst_offset_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('dst_offset_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_8_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_offset_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 3]
|
||||
dst_pitch: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_9_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_offset_z: int
|
||||
reserved_1: int
|
||||
dst_pitch: int
|
||||
DW_9_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION.register_fields([('dst_offset_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 3), ('dst_pitch', ctypes.c_uint32, 1, 19, 5), ('DW_9_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_slice_pitch: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_10_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_slice_pitch: int
|
||||
reserved_1: int
|
||||
DW_10_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION.register_fields([('dst_slice_pitch', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_10_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
rect_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
rect_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_11_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
rect_x: int
|
||||
reserved_1: int
|
||||
rect_y: int
|
||||
reserved_2: int
|
||||
DW_11_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION.register_fields([('rect_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('rect_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_11_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
rect_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 5, 3]
|
||||
dst_swap: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 2, 6, 2]
|
||||
src_swap: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_3: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_12_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
rect_z: int
|
||||
reserved_1: int
|
||||
dst_swap: int
|
||||
reserved_2: int
|
||||
src_swap: int
|
||||
reserved_3: int
|
||||
DW_12_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION.register_fields([('rect_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 5, 3), ('dst_swap', ctypes.c_uint32, 2, 2, 0), ('reserved_2', ctypes.c_uint32, 2, 6, 2), ('src_swap', ctypes.c_uint32, 3, 2, 0), ('reserved_3', ctypes.c_uint32, 3, 6, 2), ('DW_12_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION, 0), ('SRC_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION, 4), ('SRC_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION, 8), ('SRC_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION, 12), ('SRC_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION, 16), ('SRC_PARAMETER_3_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION, 20), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION, 24), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION, 28), ('DST_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION, 32), ('DST_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION, 36), ('DST_PARAMETER_3_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION, 40), ('RECT_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION, 44), ('RECT_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION, 48)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT: TypeAlias = rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG(c.Struct):
|
||||
SIZE = 20
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION, 0]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION, 4]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION, 8]
|
||||
DATA_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION, 12]
|
||||
COUNT_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION, 16]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION
|
||||
DATA_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION
|
||||
COUNT_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
sw: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 12, 2]
|
||||
fillsize: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
sw: int
|
||||
reserved_0: int
|
||||
fillsize: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('sw', ctypes.c_uint32, 2, 2, 0), ('reserved_0', ctypes.c_uint32, 2, 12, 2), ('fillsize', ctypes.c_uint32, 3, 2, 6), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION.register_fields([('src_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 0, 22, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 6]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
count: int
|
||||
reserved_0: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION.register_fields([('count', ctypes.c_uint32, 0, 22, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 6), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION, 0), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION, 4), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION, 8), ('DATA_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION, 12), ('COUNT_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION, 16)])
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL: TypeAlias = rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG(c.Struct):
|
||||
SIZE = 16
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION, 8]
|
||||
DATA_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION, 12]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION
|
||||
DATA_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
mtype: Annotated[Annotated[int, ctypes.c_uint32], 2, 3, 0]
|
||||
gcc: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 3]
|
||||
sys: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 4]
|
||||
pad1: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 5]
|
||||
snp: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 6]
|
||||
gpa: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 7]
|
||||
l2_policy: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
mtype: int
|
||||
gcc: int
|
||||
sys: int
|
||||
pad1: int
|
||||
snp: int
|
||||
gpa: int
|
||||
l2_policy: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('mtype', ctypes.c_uint32, 2, 3, 0), ('gcc', ctypes.c_uint32, 2, 1, 3), ('sys', ctypes.c_uint32, 2, 1, 4), ('pad1', ctypes.c_uint32, 2, 1, 5), ('snp', ctypes.c_uint32, 2, 1, 6), ('gpa', ctypes.c_uint32, 2, 1, 7), ('l2_policy', ctypes.c_uint32, 3, 2, 0), ('reserved_0', ctypes.c_uint32, 3, 6, 2), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
data: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
data: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION.register_fields([('data', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION, 8), ('DATA_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION, 12)])
|
||||
rocr_AMD_SDMA_PKT_FENCE: TypeAlias = rocr_AMD_SDMA_PKT_FENCE_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG(c.Struct):
|
||||
SIZE = 24
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION, 8]
|
||||
VALUE_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION, 12]
|
||||
MASK_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION, 16]
|
||||
DW5_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION, 20]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION
|
||||
VALUE_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION
|
||||
MASK_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION
|
||||
DW5_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 0]
|
||||
hdp_flush: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 2]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 3]
|
||||
func: Annotated[Annotated[int, ctypes.c_uint32], 3, 3, 4]
|
||||
mem_poll: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 7]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
hdp_flush: int
|
||||
reserved_1: int
|
||||
func: int
|
||||
mem_poll: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 0), ('hdp_flush', ctypes.c_uint32, 3, 1, 2), ('reserved_1', ctypes.c_uint32, 3, 1, 3), ('func', ctypes.c_uint32, 3, 3, 4), ('mem_poll', ctypes.c_uint32, 3, 1, 7), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
value: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
value: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION.register_fields([('value', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
mask: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
mask: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION.register_fields([('mask', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
interval: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
retry_count: Annotated[Annotated[int, ctypes.c_uint32], 2, 12, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
interval: int
|
||||
retry_count: int
|
||||
reserved_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION.register_fields([('interval', ctypes.c_uint32, 0, 16, 0), ('retry_count', ctypes.c_uint32, 2, 12, 0), ('reserved_0', ctypes.c_uint32, 3, 4, 4), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION, 8), ('VALUE_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION, 12), ('MASK_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION, 16), ('DW5_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION, 20)])
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM: TypeAlias = rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG(c.Struct):
|
||||
SIZE = 32
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION, 8]
|
||||
SRC_DATA_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION, 12]
|
||||
SRC_DATA_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION, 16]
|
||||
CMP_DATA_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION, 20]
|
||||
CMP_DATA_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION, 24]
|
||||
LOOP_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION, 28]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION
|
||||
SRC_DATA_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION
|
||||
SRC_DATA_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION
|
||||
CMP_DATA_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION
|
||||
CMP_DATA_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION
|
||||
LOOP_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
l: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 8, 1]
|
||||
operation: Annotated[Annotated[int, ctypes.c_uint32], 3, 7, 1]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
l: int
|
||||
reserved_0: int
|
||||
operation: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('l', ctypes.c_uint32, 2, 1, 0), ('reserved_0', ctypes.c_uint32, 2, 8, 1), ('operation', ctypes.c_uint32, 3, 7, 1), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION.register_fields([('src_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_63_32: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION.register_fields([('src_data_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
cmp_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cmp_data_31_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION.register_fields([('cmp_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
cmp_data_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cmp_data_63_32: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION.register_fields([('cmp_data_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
loop_interval: Annotated[Annotated[int, ctypes.c_uint32], 0, 13, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_7_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
loop_interval: int
|
||||
reserved_0: int
|
||||
DW_7_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION.register_fields([('loop_interval', ctypes.c_uint32, 0, 13, 0), ('reserved_0', ctypes.c_uint32, 1, 19, 5), ('DW_7_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION, 8), ('SRC_DATA_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION, 12), ('SRC_DATA_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION, 16), ('CMP_DATA_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION, 20), ('CMP_DATA_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION, 24), ('LOOP_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION, 28)])
|
||||
rocr_AMD_SDMA_PKT_ATOMIC: TypeAlias = rocr_AMD_SDMA_PKT_ATOMIC_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG(c.Struct):
|
||||
SIZE = 12
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION, 8]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION, 8)])
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP: TypeAlias = rocr_AMD_SDMA_PKT_TIMESTAMP_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG(c.Struct):
|
||||
SIZE = 8
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION, 0]
|
||||
INT_CONTEXT_UNION: Annotated[rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION, 4]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION
|
||||
INT_CONTEXT_UNION: rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
int_ctx: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
int_ctx: int
|
||||
reserved_1: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION.register_fields([('int_ctx', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION, 0), ('INT_CONTEXT_UNION', rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION, 4)])
|
||||
rocr_AMD_SDMA_PKT_TRAP: TypeAlias = rocr_AMD_SDMA_PKT_TRAP_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG(c.Struct):
|
||||
SIZE = 24
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
DW_0_DATA: int
|
||||
DW_1_DATA: int
|
||||
DW_2_DATA: int
|
||||
DW_3_DATA: int
|
||||
DW_4_DATA: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG.register_fields([('DW_0_DATA', ctypes.c_uint32, 0), ('DW_1_DATA', ctypes.c_uint32, 4), ('DW_2_DATA', ctypes.c_uint32, 8), ('DW_3_DATA', ctypes.c_uint32, 12), ('DW_4_DATA', ctypes.c_uint32, 16), ('DW_5_DATA', ctypes.c_uint32, 20)])
|
||||
rocr_AMD_SDMA_PKT_HDP_FLUSH: TypeAlias = rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG(c.Struct):
|
||||
SIZE = 20
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION, 0]
|
||||
WORD1_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION, 4]
|
||||
WORD2_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION, 8]
|
||||
WORD3_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION, 12]
|
||||
WORD4_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION, 16]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION
|
||||
WORD1_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION
|
||||
WORD2_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION
|
||||
WORD3_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION
|
||||
WORD4_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
BaseVA_LO: Annotated[Annotated[int, ctypes.c_uint32], 0, 25, 7]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
BaseVA_LO: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION.register_fields([('BaseVA_LO', ctypes.c_uint32, 0, 25, 7), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
BaseVA_HI: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
GCR_CONTROL_GLI_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
GCR_CONTROL_GL1_RANGE: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 2]
|
||||
GCR_CONTROL_GLM_WB: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 4]
|
||||
GCR_CONTROL_GLM_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 5]
|
||||
GCR_CONTROL_GLK_WB: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 6]
|
||||
GCR_CONTROL_GLK_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 7]
|
||||
GCR_CONTROL_GLV_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 0]
|
||||
GCR_CONTROL_GL1_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 1]
|
||||
GCR_CONTROL_GL2_US: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 2]
|
||||
GCR_CONTROL_GL2_RANGE: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 3]
|
||||
GCR_CONTROL_GL2_DISCARD: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 5]
|
||||
GCR_CONTROL_GL2_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 6]
|
||||
GCR_CONTROL_GL2_WB: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 7]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
BaseVA_HI: int
|
||||
GCR_CONTROL_GLI_INV: int
|
||||
GCR_CONTROL_GL1_RANGE: int
|
||||
GCR_CONTROL_GLM_WB: int
|
||||
GCR_CONTROL_GLM_INV: int
|
||||
GCR_CONTROL_GLK_WB: int
|
||||
GCR_CONTROL_GLK_INV: int
|
||||
GCR_CONTROL_GLV_INV: int
|
||||
GCR_CONTROL_GL1_INV: int
|
||||
GCR_CONTROL_GL2_US: int
|
||||
GCR_CONTROL_GL2_RANGE: int
|
||||
GCR_CONTROL_GL2_DISCARD: int
|
||||
GCR_CONTROL_GL2_INV: int
|
||||
GCR_CONTROL_GL2_WB: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION.register_fields([('BaseVA_HI', ctypes.c_uint32, 0, 16, 0), ('GCR_CONTROL_GLI_INV', ctypes.c_uint32, 2, 2, 0), ('GCR_CONTROL_GL1_RANGE', ctypes.c_uint32, 2, 2, 2), ('GCR_CONTROL_GLM_WB', ctypes.c_uint32, 2, 1, 4), ('GCR_CONTROL_GLM_INV', ctypes.c_uint32, 2, 1, 5), ('GCR_CONTROL_GLK_WB', ctypes.c_uint32, 2, 1, 6), ('GCR_CONTROL_GLK_INV', ctypes.c_uint32, 2, 1, 7), ('GCR_CONTROL_GLV_INV', ctypes.c_uint32, 3, 1, 0), ('GCR_CONTROL_GL1_INV', ctypes.c_uint32, 3, 1, 1), ('GCR_CONTROL_GL2_US', ctypes.c_uint32, 3, 1, 2), ('GCR_CONTROL_GL2_RANGE', ctypes.c_uint32, 3, 2, 3), ('GCR_CONTROL_GL2_DISCARD', ctypes.c_uint32, 3, 1, 5), ('GCR_CONTROL_GL2_INV', ctypes.c_uint32, 3, 1, 6), ('GCR_CONTROL_GL2_WB', ctypes.c_uint32, 3, 1, 7), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
GCR_CONTROL_RANGE_IS_PA: Annotated[Annotated[int, ctypes.c_uint32], 0, 1, 0]
|
||||
GCR_CONTROL_SEQ: Annotated[Annotated[int, ctypes.c_uint32], 0, 2, 1]
|
||||
LimitVA_LO: Annotated[Annotated[int, ctypes.c_uint32], 0, 25, 7]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
GCR_CONTROL_RANGE_IS_PA: int
|
||||
GCR_CONTROL_SEQ: int
|
||||
LimitVA_LO: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION.register_fields([('GCR_CONTROL_RANGE_IS_PA', ctypes.c_uint32, 0, 1, 0), ('GCR_CONTROL_SEQ', ctypes.c_uint32, 0, 2, 1), ('LimitVA_LO', ctypes.c_uint32, 0, 25, 7), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
LimitVA_HI: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
VMID: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
LimitVA_HI: int
|
||||
VMID: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION.register_fields([('LimitVA_HI', ctypes.c_uint32, 0, 16, 0), ('VMID', ctypes.c_uint32, 3, 4, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION, 0), ('WORD1_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION, 4), ('WORD2_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION, 8), ('WORD3_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION, 12), ('WORD4_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION, 16)])
|
||||
rocr_AMD_SDMA_PKT_GCR: TypeAlias = rocr_AMD_SDMA_PKT_GCR_TAG
|
||||
c.init_records()
|
||||
SDMA_OP_COPY = 1 # type: ignore
|
||||
SDMA_OP_FENCE = 5 # type: ignore
|
||||
SDMA_OP_TRAP = 6 # type: ignore
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,647 +1,344 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
PPSMC_Result: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
PPSMC_MSG: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
class FEATURE_LIST_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
FEATURE_DATA_CALCULATION = FEATURE_LIST_e.define('FEATURE_DATA_CALCULATION', 0)
|
||||
FEATURE_DPM_FCLK = FEATURE_LIST_e.define('FEATURE_DPM_FCLK', 1)
|
||||
FEATURE_DPM_GFXCLK = FEATURE_LIST_e.define('FEATURE_DPM_GFXCLK', 2)
|
||||
FEATURE_DPM_LCLK = FEATURE_LIST_e.define('FEATURE_DPM_LCLK', 3)
|
||||
FEATURE_DPM_SOCCLK = FEATURE_LIST_e.define('FEATURE_DPM_SOCCLK', 4)
|
||||
FEATURE_DPM_UCLK = FEATURE_LIST_e.define('FEATURE_DPM_UCLK', 5)
|
||||
FEATURE_DPM_VCN = FEATURE_LIST_e.define('FEATURE_DPM_VCN', 6)
|
||||
FEATURE_DPM_XGMI = FEATURE_LIST_e.define('FEATURE_DPM_XGMI', 7)
|
||||
FEATURE_DS_FCLK = FEATURE_LIST_e.define('FEATURE_DS_FCLK', 8)
|
||||
FEATURE_DS_GFXCLK = FEATURE_LIST_e.define('FEATURE_DS_GFXCLK', 9)
|
||||
FEATURE_DS_LCLK = FEATURE_LIST_e.define('FEATURE_DS_LCLK', 10)
|
||||
FEATURE_DS_MP0CLK = FEATURE_LIST_e.define('FEATURE_DS_MP0CLK', 11)
|
||||
FEATURE_DS_MP1CLK = FEATURE_LIST_e.define('FEATURE_DS_MP1CLK', 12)
|
||||
FEATURE_DS_MPIOCLK = FEATURE_LIST_e.define('FEATURE_DS_MPIOCLK', 13)
|
||||
FEATURE_DS_SOCCLK = FEATURE_LIST_e.define('FEATURE_DS_SOCCLK', 14)
|
||||
FEATURE_DS_VCN = FEATURE_LIST_e.define('FEATURE_DS_VCN', 15)
|
||||
FEATURE_APCC_DFLL = FEATURE_LIST_e.define('FEATURE_APCC_DFLL', 16)
|
||||
FEATURE_APCC_PLUS = FEATURE_LIST_e.define('FEATURE_APCC_PLUS', 17)
|
||||
FEATURE_PPT = FEATURE_LIST_e.define('FEATURE_PPT', 18)
|
||||
FEATURE_TDC = FEATURE_LIST_e.define('FEATURE_TDC', 19)
|
||||
FEATURE_THERMAL = FEATURE_LIST_e.define('FEATURE_THERMAL', 20)
|
||||
FEATURE_SOC_PCC = FEATURE_LIST_e.define('FEATURE_SOC_PCC', 21)
|
||||
FEATURE_PROCHOT = FEATURE_LIST_e.define('FEATURE_PROCHOT', 22)
|
||||
FEATURE_FDD_AID_HBM = FEATURE_LIST_e.define('FEATURE_FDD_AID_HBM', 23)
|
||||
FEATURE_FDD_AID_SOC = FEATURE_LIST_e.define('FEATURE_FDD_AID_SOC', 24)
|
||||
FEATURE_FDD_XCD_EDC = FEATURE_LIST_e.define('FEATURE_FDD_XCD_EDC', 25)
|
||||
FEATURE_FDD_XCD_XVMIN = FEATURE_LIST_e.define('FEATURE_FDD_XCD_XVMIN', 26)
|
||||
FEATURE_FW_CTF = FEATURE_LIST_e.define('FEATURE_FW_CTF', 27)
|
||||
FEATURE_SMU_CG = FEATURE_LIST_e.define('FEATURE_SMU_CG', 28)
|
||||
FEATURE_PSI7 = FEATURE_LIST_e.define('FEATURE_PSI7', 29)
|
||||
FEATURE_XGMI_PER_LINK_PWR_DOWN = FEATURE_LIST_e.define('FEATURE_XGMI_PER_LINK_PWR_DOWN', 30)
|
||||
FEATURE_SOC_DC_RTC = FEATURE_LIST_e.define('FEATURE_SOC_DC_RTC', 31)
|
||||
FEATURE_GFX_DC_RTC = FEATURE_LIST_e.define('FEATURE_GFX_DC_RTC', 32)
|
||||
FEATURE_DVM_MIN_PSM = FEATURE_LIST_e.define('FEATURE_DVM_MIN_PSM', 33)
|
||||
FEATURE_PRC = FEATURE_LIST_e.define('FEATURE_PRC', 34)
|
||||
FEATURE_PSM_SQ_THROTTLER = FEATURE_LIST_e.define('FEATURE_PSM_SQ_THROTTLER', 35)
|
||||
FEATURE_PIT = FEATURE_LIST_e.define('FEATURE_PIT', 36)
|
||||
FEATURE_DVO = FEATURE_LIST_e.define('FEATURE_DVO', 37)
|
||||
FEATURE_XVMINORPSM_CLKSTOP_DS = FEATURE_LIST_e.define('FEATURE_XVMINORPSM_CLKSTOP_DS', 38)
|
||||
FEATURE_GLOBAL_DPM = FEATURE_LIST_e.define('FEATURE_GLOBAL_DPM', 39)
|
||||
FEATURE_HROM_EN = FEATURE_LIST_e.define('FEATURE_HROM_EN', 40)
|
||||
NUM_FEATURES = FEATURE_LIST_e.define('NUM_FEATURES', 41)
|
||||
|
||||
class PCIE_LINK_SPEED_INDEX_TABLE_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
PCIE_LINK_SPEED_INDEX_TABLE_RESERVED = PCIE_LINK_SPEED_INDEX_TABLE_e.define('PCIE_LINK_SPEED_INDEX_TABLE_RESERVED', 0)
|
||||
PCIE_LINK_SPEED_INDEX_TABLE_GEN1 = PCIE_LINK_SPEED_INDEX_TABLE_e.define('PCIE_LINK_SPEED_INDEX_TABLE_GEN1', 1)
|
||||
PCIE_LINK_SPEED_INDEX_TABLE_GEN2 = PCIE_LINK_SPEED_INDEX_TABLE_e.define('PCIE_LINK_SPEED_INDEX_TABLE_GEN2', 2)
|
||||
PCIE_LINK_SPEED_INDEX_TABLE_GEN3 = PCIE_LINK_SPEED_INDEX_TABLE_e.define('PCIE_LINK_SPEED_INDEX_TABLE_GEN3', 3)
|
||||
PCIE_LINK_SPEED_INDEX_TABLE_GEN4 = PCIE_LINK_SPEED_INDEX_TABLE_e.define('PCIE_LINK_SPEED_INDEX_TABLE_GEN4', 4)
|
||||
PCIE_LINK_SPEED_INDEX_TABLE_GEN5 = PCIE_LINK_SPEED_INDEX_TABLE_e.define('PCIE_LINK_SPEED_INDEX_TABLE_GEN5', 5)
|
||||
PCIE_LINK_SPEED_INDEX_TABLE_COUNT = PCIE_LINK_SPEED_INDEX_TABLE_e.define('PCIE_LINK_SPEED_INDEX_TABLE_COUNT', 6)
|
||||
|
||||
class GFX_GUARDBAND_OFFSET_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
GFX_GUARDBAND_OFFSET_0 = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_0', 0)
|
||||
GFX_GUARDBAND_OFFSET_1 = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_1', 1)
|
||||
GFX_GUARDBAND_OFFSET_2 = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_2', 2)
|
||||
GFX_GUARDBAND_OFFSET_3 = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_3', 3)
|
||||
GFX_GUARDBAND_OFFSET_4 = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_4', 4)
|
||||
GFX_GUARDBAND_OFFSET_5 = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_5', 5)
|
||||
GFX_GUARDBAND_OFFSET_6 = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_6', 6)
|
||||
GFX_GUARDBAND_OFFSET_7 = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_7', 7)
|
||||
GFX_GUARDBAND_OFFSET_COUNT = GFX_GUARDBAND_OFFSET_e.define('GFX_GUARDBAND_OFFSET_COUNT', 8)
|
||||
|
||||
class GFX_DVM_MARGIN_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
GFX_DVM_MARGINHI_0 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINHI_0', 0)
|
||||
GFX_DVM_MARGINHI_1 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINHI_1', 1)
|
||||
GFX_DVM_MARGINHI_2 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINHI_2', 2)
|
||||
GFX_DVM_MARGINHI_3 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINHI_3', 3)
|
||||
GFX_DVM_MARGINHI_4 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINHI_4', 4)
|
||||
GFX_DVM_MARGINHI_5 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINHI_5', 5)
|
||||
GFX_DVM_MARGINHI_6 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINHI_6', 6)
|
||||
GFX_DVM_MARGINHI_7 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINHI_7', 7)
|
||||
GFX_DVM_MARGINLO_0 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINLO_0', 8)
|
||||
GFX_DVM_MARGINLO_1 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINLO_1', 9)
|
||||
GFX_DVM_MARGINLO_2 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINLO_2', 10)
|
||||
GFX_DVM_MARGINLO_3 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINLO_3', 11)
|
||||
GFX_DVM_MARGINLO_4 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINLO_4', 12)
|
||||
GFX_DVM_MARGINLO_5 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINLO_5', 13)
|
||||
GFX_DVM_MARGINLO_6 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINLO_6', 14)
|
||||
GFX_DVM_MARGINLO_7 = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGINLO_7', 15)
|
||||
GFX_DVM_MARGIN_COUNT = GFX_DVM_MARGIN_e.define('GFX_DVM_MARGIN_COUNT', 16)
|
||||
|
||||
class SYSTEM_TEMP_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SYSTEM_TEMP_UBB_FPGA = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_FPGA', 0)
|
||||
SYSTEM_TEMP_UBB_FRONT = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_FRONT', 1)
|
||||
SYSTEM_TEMP_UBB_BACK = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_BACK', 2)
|
||||
SYSTEM_TEMP_UBB_OAM7 = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_OAM7', 3)
|
||||
SYSTEM_TEMP_UBB_IBC = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_IBC', 4)
|
||||
SYSTEM_TEMP_UBB_UFPGA = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_UFPGA', 5)
|
||||
SYSTEM_TEMP_UBB_OAM1 = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_OAM1', 6)
|
||||
SYSTEM_TEMP_OAM_0_1_HSC = SYSTEM_TEMP_e.define('SYSTEM_TEMP_OAM_0_1_HSC', 7)
|
||||
SYSTEM_TEMP_OAM_2_3_HSC = SYSTEM_TEMP_e.define('SYSTEM_TEMP_OAM_2_3_HSC', 8)
|
||||
SYSTEM_TEMP_OAM_4_5_HSC = SYSTEM_TEMP_e.define('SYSTEM_TEMP_OAM_4_5_HSC', 9)
|
||||
SYSTEM_TEMP_OAM_6_7_HSC = SYSTEM_TEMP_e.define('SYSTEM_TEMP_OAM_6_7_HSC', 10)
|
||||
SYSTEM_TEMP_UBB_FPGA_0V72_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_FPGA_0V72_VR', 11)
|
||||
SYSTEM_TEMP_UBB_FPGA_3V3_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_UBB_FPGA_3V3_VR', 12)
|
||||
SYSTEM_TEMP_RETIMER_0_1_2_3_1V2_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_RETIMER_0_1_2_3_1V2_VR', 13)
|
||||
SYSTEM_TEMP_RETIMER_4_5_6_7_1V2_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_RETIMER_4_5_6_7_1V2_VR', 14)
|
||||
SYSTEM_TEMP_RETIMER_0_1_0V9_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_RETIMER_0_1_0V9_VR', 15)
|
||||
SYSTEM_TEMP_RETIMER_4_5_0V9_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_RETIMER_4_5_0V9_VR', 16)
|
||||
SYSTEM_TEMP_RETIMER_2_3_0V9_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_RETIMER_2_3_0V9_VR', 17)
|
||||
SYSTEM_TEMP_RETIMER_6_7_0V9_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_RETIMER_6_7_0V9_VR', 18)
|
||||
SYSTEM_TEMP_OAM_0_1_2_3_3V3_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_OAM_0_1_2_3_3V3_VR', 19)
|
||||
SYSTEM_TEMP_OAM_4_5_6_7_3V3_VR = SYSTEM_TEMP_e.define('SYSTEM_TEMP_OAM_4_5_6_7_3V3_VR', 20)
|
||||
SYSTEM_TEMP_IBC_HSC = SYSTEM_TEMP_e.define('SYSTEM_TEMP_IBC_HSC', 21)
|
||||
SYSTEM_TEMP_IBC = SYSTEM_TEMP_e.define('SYSTEM_TEMP_IBC', 22)
|
||||
SYSTEM_TEMP_MAX_ENTRIES = SYSTEM_TEMP_e.define('SYSTEM_TEMP_MAX_ENTRIES', 32)
|
||||
|
||||
class NODE_TEMP_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
NODE_TEMP_RETIMER = NODE_TEMP_e.define('NODE_TEMP_RETIMER', 0)
|
||||
NODE_TEMP_IBC_TEMP = NODE_TEMP_e.define('NODE_TEMP_IBC_TEMP', 1)
|
||||
NODE_TEMP_IBC_2_TEMP = NODE_TEMP_e.define('NODE_TEMP_IBC_2_TEMP', 2)
|
||||
NODE_TEMP_VDD18_VR_TEMP = NODE_TEMP_e.define('NODE_TEMP_VDD18_VR_TEMP', 3)
|
||||
NODE_TEMP_04_HBM_B_VR_TEMP = NODE_TEMP_e.define('NODE_TEMP_04_HBM_B_VR_TEMP', 4)
|
||||
NODE_TEMP_04_HBM_D_VR_TEMP = NODE_TEMP_e.define('NODE_TEMP_04_HBM_D_VR_TEMP', 5)
|
||||
NODE_TEMP_MAX_TEMP_ENTRIES = NODE_TEMP_e.define('NODE_TEMP_MAX_TEMP_ENTRIES', 12)
|
||||
|
||||
class SVI_TEMP_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SVI_VDDCR_VDD0_TEMP = SVI_TEMP_e.define('SVI_VDDCR_VDD0_TEMP', 0)
|
||||
SVI_VDDCR_VDD1_TEMP = SVI_TEMP_e.define('SVI_VDDCR_VDD1_TEMP', 1)
|
||||
SVI_VDDCR_VDD2_TEMP = SVI_TEMP_e.define('SVI_VDDCR_VDD2_TEMP', 2)
|
||||
SVI_VDDCR_VDD3_TEMP = SVI_TEMP_e.define('SVI_VDDCR_VDD3_TEMP', 3)
|
||||
SVI_VDDCR_SOC_A_TEMP = SVI_TEMP_e.define('SVI_VDDCR_SOC_A_TEMP', 4)
|
||||
SVI_VDDCR_SOC_C_TEMP = SVI_TEMP_e.define('SVI_VDDCR_SOC_C_TEMP', 5)
|
||||
SVI_VDDCR_SOCIO_A_TEMP = SVI_TEMP_e.define('SVI_VDDCR_SOCIO_A_TEMP', 6)
|
||||
SVI_VDDCR_SOCIO_C_TEMP = SVI_TEMP_e.define('SVI_VDDCR_SOCIO_C_TEMP', 7)
|
||||
SVI_VDD_085_HBM_TEMP = SVI_TEMP_e.define('SVI_VDD_085_HBM_TEMP', 8)
|
||||
SVI_VDDCR_11_HBM_B_TEMP = SVI_TEMP_e.define('SVI_VDDCR_11_HBM_B_TEMP', 9)
|
||||
SVI_VDDCR_11_HBM_D_TEMP = SVI_TEMP_e.define('SVI_VDDCR_11_HBM_D_TEMP', 10)
|
||||
SVI_VDD_USR_TEMP = SVI_TEMP_e.define('SVI_VDD_USR_TEMP', 11)
|
||||
SVI_VDDIO_11_E32_TEMP = SVI_TEMP_e.define('SVI_VDDIO_11_E32_TEMP', 12)
|
||||
SVI_MAX_TEMP_ENTRIES = SVI_TEMP_e.define('SVI_MAX_TEMP_ENTRIES', 13)
|
||||
|
||||
PPSMC_Result: TypeAlias = ctypes.c_uint32
|
||||
PPSMC_MSG: TypeAlias = ctypes.c_uint32
|
||||
FEATURE_LIST_e: dict[int, str] = {(FEATURE_DATA_CALCULATION:=0): 'FEATURE_DATA_CALCULATION', (FEATURE_DPM_FCLK:=1): 'FEATURE_DPM_FCLK', (FEATURE_DPM_GFXCLK:=2): 'FEATURE_DPM_GFXCLK', (FEATURE_DPM_LCLK:=3): 'FEATURE_DPM_LCLK', (FEATURE_DPM_SOCCLK:=4): 'FEATURE_DPM_SOCCLK', (FEATURE_DPM_UCLK:=5): 'FEATURE_DPM_UCLK', (FEATURE_DPM_VCN:=6): 'FEATURE_DPM_VCN', (FEATURE_DPM_XGMI:=7): 'FEATURE_DPM_XGMI', (FEATURE_DS_FCLK:=8): 'FEATURE_DS_FCLK', (FEATURE_DS_GFXCLK:=9): 'FEATURE_DS_GFXCLK', (FEATURE_DS_LCLK:=10): 'FEATURE_DS_LCLK', (FEATURE_DS_MP0CLK:=11): 'FEATURE_DS_MP0CLK', (FEATURE_DS_MP1CLK:=12): 'FEATURE_DS_MP1CLK', (FEATURE_DS_MPIOCLK:=13): 'FEATURE_DS_MPIOCLK', (FEATURE_DS_SOCCLK:=14): 'FEATURE_DS_SOCCLK', (FEATURE_DS_VCN:=15): 'FEATURE_DS_VCN', (FEATURE_APCC_DFLL:=16): 'FEATURE_APCC_DFLL', (FEATURE_APCC_PLUS:=17): 'FEATURE_APCC_PLUS', (FEATURE_PPT:=18): 'FEATURE_PPT', (FEATURE_TDC:=19): 'FEATURE_TDC', (FEATURE_THERMAL:=20): 'FEATURE_THERMAL', (FEATURE_SOC_PCC:=21): 'FEATURE_SOC_PCC', (FEATURE_PROCHOT:=22): 'FEATURE_PROCHOT', (FEATURE_FDD_AID_HBM:=23): 'FEATURE_FDD_AID_HBM', (FEATURE_FDD_AID_SOC:=24): 'FEATURE_FDD_AID_SOC', (FEATURE_FDD_XCD_EDC:=25): 'FEATURE_FDD_XCD_EDC', (FEATURE_FDD_XCD_XVMIN:=26): 'FEATURE_FDD_XCD_XVMIN', (FEATURE_FW_CTF:=27): 'FEATURE_FW_CTF', (FEATURE_SMU_CG:=28): 'FEATURE_SMU_CG', (FEATURE_PSI7:=29): 'FEATURE_PSI7', (FEATURE_XGMI_PER_LINK_PWR_DOWN:=30): 'FEATURE_XGMI_PER_LINK_PWR_DOWN', (FEATURE_SOC_DC_RTC:=31): 'FEATURE_SOC_DC_RTC', (FEATURE_GFX_DC_RTC:=32): 'FEATURE_GFX_DC_RTC', (FEATURE_DVM_MIN_PSM:=33): 'FEATURE_DVM_MIN_PSM', (FEATURE_PRC:=34): 'FEATURE_PRC', (FEATURE_PSM_SQ_THROTTLER:=35): 'FEATURE_PSM_SQ_THROTTLER', (FEATURE_PIT:=36): 'FEATURE_PIT', (FEATURE_DVO:=37): 'FEATURE_DVO', (FEATURE_XVMINORPSM_CLKSTOP_DS:=38): 'FEATURE_XVMINORPSM_CLKSTOP_DS', (FEATURE_GLOBAL_DPM:=39): 'FEATURE_GLOBAL_DPM', (FEATURE_HROM_EN:=40): 'FEATURE_HROM_EN', (NUM_FEATURES:=41): 'NUM_FEATURES'}
|
||||
PCIE_LINK_SPEED_INDEX_TABLE_e: dict[int, str] = {(PCIE_LINK_SPEED_INDEX_TABLE_RESERVED:=0): 'PCIE_LINK_SPEED_INDEX_TABLE_RESERVED', (PCIE_LINK_SPEED_INDEX_TABLE_GEN1:=1): 'PCIE_LINK_SPEED_INDEX_TABLE_GEN1', (PCIE_LINK_SPEED_INDEX_TABLE_GEN2:=2): 'PCIE_LINK_SPEED_INDEX_TABLE_GEN2', (PCIE_LINK_SPEED_INDEX_TABLE_GEN3:=3): 'PCIE_LINK_SPEED_INDEX_TABLE_GEN3', (PCIE_LINK_SPEED_INDEX_TABLE_GEN4:=4): 'PCIE_LINK_SPEED_INDEX_TABLE_GEN4', (PCIE_LINK_SPEED_INDEX_TABLE_GEN5:=5): 'PCIE_LINK_SPEED_INDEX_TABLE_GEN5', (PCIE_LINK_SPEED_INDEX_TABLE_COUNT:=6): 'PCIE_LINK_SPEED_INDEX_TABLE_COUNT'}
|
||||
GFX_GUARDBAND_OFFSET_e: dict[int, str] = {(GFX_GUARDBAND_OFFSET_0:=0): 'GFX_GUARDBAND_OFFSET_0', (GFX_GUARDBAND_OFFSET_1:=1): 'GFX_GUARDBAND_OFFSET_1', (GFX_GUARDBAND_OFFSET_2:=2): 'GFX_GUARDBAND_OFFSET_2', (GFX_GUARDBAND_OFFSET_3:=3): 'GFX_GUARDBAND_OFFSET_3', (GFX_GUARDBAND_OFFSET_4:=4): 'GFX_GUARDBAND_OFFSET_4', (GFX_GUARDBAND_OFFSET_5:=5): 'GFX_GUARDBAND_OFFSET_5', (GFX_GUARDBAND_OFFSET_6:=6): 'GFX_GUARDBAND_OFFSET_6', (GFX_GUARDBAND_OFFSET_7:=7): 'GFX_GUARDBAND_OFFSET_7', (GFX_GUARDBAND_OFFSET_COUNT:=8): 'GFX_GUARDBAND_OFFSET_COUNT'}
|
||||
GFX_DVM_MARGIN_e: dict[int, str] = {(GFX_DVM_MARGINHI_0:=0): 'GFX_DVM_MARGINHI_0', (GFX_DVM_MARGINHI_1:=1): 'GFX_DVM_MARGINHI_1', (GFX_DVM_MARGINHI_2:=2): 'GFX_DVM_MARGINHI_2', (GFX_DVM_MARGINHI_3:=3): 'GFX_DVM_MARGINHI_3', (GFX_DVM_MARGINHI_4:=4): 'GFX_DVM_MARGINHI_4', (GFX_DVM_MARGINHI_5:=5): 'GFX_DVM_MARGINHI_5', (GFX_DVM_MARGINHI_6:=6): 'GFX_DVM_MARGINHI_6', (GFX_DVM_MARGINHI_7:=7): 'GFX_DVM_MARGINHI_7', (GFX_DVM_MARGINLO_0:=8): 'GFX_DVM_MARGINLO_0', (GFX_DVM_MARGINLO_1:=9): 'GFX_DVM_MARGINLO_1', (GFX_DVM_MARGINLO_2:=10): 'GFX_DVM_MARGINLO_2', (GFX_DVM_MARGINLO_3:=11): 'GFX_DVM_MARGINLO_3', (GFX_DVM_MARGINLO_4:=12): 'GFX_DVM_MARGINLO_4', (GFX_DVM_MARGINLO_5:=13): 'GFX_DVM_MARGINLO_5', (GFX_DVM_MARGINLO_6:=14): 'GFX_DVM_MARGINLO_6', (GFX_DVM_MARGINLO_7:=15): 'GFX_DVM_MARGINLO_7', (GFX_DVM_MARGIN_COUNT:=16): 'GFX_DVM_MARGIN_COUNT'}
|
||||
SYSTEM_TEMP_e: dict[int, str] = {(SYSTEM_TEMP_UBB_FPGA:=0): 'SYSTEM_TEMP_UBB_FPGA', (SYSTEM_TEMP_UBB_FRONT:=1): 'SYSTEM_TEMP_UBB_FRONT', (SYSTEM_TEMP_UBB_BACK:=2): 'SYSTEM_TEMP_UBB_BACK', (SYSTEM_TEMP_UBB_OAM7:=3): 'SYSTEM_TEMP_UBB_OAM7', (SYSTEM_TEMP_UBB_IBC:=4): 'SYSTEM_TEMP_UBB_IBC', (SYSTEM_TEMP_UBB_UFPGA:=5): 'SYSTEM_TEMP_UBB_UFPGA', (SYSTEM_TEMP_UBB_OAM1:=6): 'SYSTEM_TEMP_UBB_OAM1', (SYSTEM_TEMP_OAM_0_1_HSC:=7): 'SYSTEM_TEMP_OAM_0_1_HSC', (SYSTEM_TEMP_OAM_2_3_HSC:=8): 'SYSTEM_TEMP_OAM_2_3_HSC', (SYSTEM_TEMP_OAM_4_5_HSC:=9): 'SYSTEM_TEMP_OAM_4_5_HSC', (SYSTEM_TEMP_OAM_6_7_HSC:=10): 'SYSTEM_TEMP_OAM_6_7_HSC', (SYSTEM_TEMP_UBB_FPGA_0V72_VR:=11): 'SYSTEM_TEMP_UBB_FPGA_0V72_VR', (SYSTEM_TEMP_UBB_FPGA_3V3_VR:=12): 'SYSTEM_TEMP_UBB_FPGA_3V3_VR', (SYSTEM_TEMP_RETIMER_0_1_2_3_1V2_VR:=13): 'SYSTEM_TEMP_RETIMER_0_1_2_3_1V2_VR', (SYSTEM_TEMP_RETIMER_4_5_6_7_1V2_VR:=14): 'SYSTEM_TEMP_RETIMER_4_5_6_7_1V2_VR', (SYSTEM_TEMP_RETIMER_0_1_0V9_VR:=15): 'SYSTEM_TEMP_RETIMER_0_1_0V9_VR', (SYSTEM_TEMP_RETIMER_4_5_0V9_VR:=16): 'SYSTEM_TEMP_RETIMER_4_5_0V9_VR', (SYSTEM_TEMP_RETIMER_2_3_0V9_VR:=17): 'SYSTEM_TEMP_RETIMER_2_3_0V9_VR', (SYSTEM_TEMP_RETIMER_6_7_0V9_VR:=18): 'SYSTEM_TEMP_RETIMER_6_7_0V9_VR', (SYSTEM_TEMP_OAM_0_1_2_3_3V3_VR:=19): 'SYSTEM_TEMP_OAM_0_1_2_3_3V3_VR', (SYSTEM_TEMP_OAM_4_5_6_7_3V3_VR:=20): 'SYSTEM_TEMP_OAM_4_5_6_7_3V3_VR', (SYSTEM_TEMP_IBC_HSC:=21): 'SYSTEM_TEMP_IBC_HSC', (SYSTEM_TEMP_IBC:=22): 'SYSTEM_TEMP_IBC', (SYSTEM_TEMP_MAX_ENTRIES:=32): 'SYSTEM_TEMP_MAX_ENTRIES'}
|
||||
NODE_TEMP_e: dict[int, str] = {(NODE_TEMP_RETIMER:=0): 'NODE_TEMP_RETIMER', (NODE_TEMP_IBC_TEMP:=1): 'NODE_TEMP_IBC_TEMP', (NODE_TEMP_IBC_2_TEMP:=2): 'NODE_TEMP_IBC_2_TEMP', (NODE_TEMP_VDD18_VR_TEMP:=3): 'NODE_TEMP_VDD18_VR_TEMP', (NODE_TEMP_04_HBM_B_VR_TEMP:=4): 'NODE_TEMP_04_HBM_B_VR_TEMP', (NODE_TEMP_04_HBM_D_VR_TEMP:=5): 'NODE_TEMP_04_HBM_D_VR_TEMP', (NODE_TEMP_MAX_TEMP_ENTRIES:=12): 'NODE_TEMP_MAX_TEMP_ENTRIES'}
|
||||
SVI_TEMP_e: dict[int, str] = {(SVI_VDDCR_VDD0_TEMP:=0): 'SVI_VDDCR_VDD0_TEMP', (SVI_VDDCR_VDD1_TEMP:=1): 'SVI_VDDCR_VDD1_TEMP', (SVI_VDDCR_VDD2_TEMP:=2): 'SVI_VDDCR_VDD2_TEMP', (SVI_VDDCR_VDD3_TEMP:=3): 'SVI_VDDCR_VDD3_TEMP', (SVI_VDDCR_SOC_A_TEMP:=4): 'SVI_VDDCR_SOC_A_TEMP', (SVI_VDDCR_SOC_C_TEMP:=5): 'SVI_VDDCR_SOC_C_TEMP', (SVI_VDDCR_SOCIO_A_TEMP:=6): 'SVI_VDDCR_SOCIO_A_TEMP', (SVI_VDDCR_SOCIO_C_TEMP:=7): 'SVI_VDDCR_SOCIO_C_TEMP', (SVI_VDD_085_HBM_TEMP:=8): 'SVI_VDD_085_HBM_TEMP', (SVI_VDDCR_11_HBM_B_TEMP:=9): 'SVI_VDDCR_11_HBM_B_TEMP', (SVI_VDDCR_11_HBM_D_TEMP:=10): 'SVI_VDDCR_11_HBM_D_TEMP', (SVI_VDD_USR_TEMP:=11): 'SVI_VDD_USR_TEMP', (SVI_VDDIO_11_E32_TEMP:=12): 'SVI_VDDIO_11_E32_TEMP', (SVI_MAX_TEMP_ENTRIES:=13): 'SVI_MAX_TEMP_ENTRIES'}
|
||||
@c.record
|
||||
class MetricsTable_t(c.Struct):
|
||||
SIZE = 1284
|
||||
AccumulationCounter: Annotated[uint64_t, 0]
|
||||
MaxSocketTemperature: Annotated[uint32_t, 8]
|
||||
MaxVrTemperature: Annotated[uint32_t, 12]
|
||||
MaxHbmTemperature: Annotated[uint32_t, 16]
|
||||
MaxSocketTemperatureAcc: Annotated[uint64_t, 20]
|
||||
MaxVrTemperatureAcc: Annotated[uint64_t, 28]
|
||||
MaxHbmTemperatureAcc: Annotated[uint64_t, 36]
|
||||
SocketPowerLimit: Annotated[uint32_t, 44]
|
||||
SocketPower: Annotated[uint32_t, 48]
|
||||
Timestamp: Annotated[uint64_t, 52]
|
||||
SocketEnergyAcc: Annotated[uint64_t, 60]
|
||||
XcdEnergyAcc: Annotated[uint64_t, 68]
|
||||
AidEnergyAcc: Annotated[uint64_t, 76]
|
||||
HbmEnergyAcc: Annotated[uint64_t, 84]
|
||||
GfxclkFrequencyLimit: Annotated[uint32_t, 92]
|
||||
FclkFrequency: Annotated[uint32_t, 96]
|
||||
UclkFrequency: Annotated[uint32_t, 100]
|
||||
SocclkFrequency: Annotated[c.Array[uint32_t, Literal[4]], 104]
|
||||
VclkFrequency: Annotated[c.Array[uint32_t, Literal[4]], 120]
|
||||
DclkFrequency: Annotated[c.Array[uint32_t, Literal[4]], 136]
|
||||
LclkFrequency: Annotated[c.Array[uint32_t, Literal[4]], 152]
|
||||
GfxclkFrequencyAcc: Annotated[c.Array[uint64_t, Literal[8]], 168]
|
||||
MaxLclkDpmRange: Annotated[uint32_t, 232]
|
||||
MinLclkDpmRange: Annotated[uint32_t, 236]
|
||||
XgmiWidth: Annotated[uint32_t, 240]
|
||||
XgmiBitrate: Annotated[uint32_t, 244]
|
||||
XgmiReadBandwidthAcc: Annotated[c.Array[uint64_t, Literal[8]], 248]
|
||||
XgmiWriteBandwidthAcc: Annotated[c.Array[uint64_t, Literal[8]], 312]
|
||||
SocketGfxBusy: Annotated[uint32_t, 376]
|
||||
DramBandwidthUtilization: Annotated[uint32_t, 380]
|
||||
SocketGfxBusyAcc: Annotated[uint64_t, 384]
|
||||
DramBandwidthAcc: Annotated[uint64_t, 392]
|
||||
MaxDramBandwidth: Annotated[uint32_t, 400]
|
||||
DramBandwidthUtilizationAcc: Annotated[uint64_t, 404]
|
||||
PcieBandwidthAcc: Annotated[c.Array[uint64_t, Literal[4]], 412]
|
||||
ProchotResidencyAcc: Annotated[uint32_t, 444]
|
||||
PptResidencyAcc: Annotated[uint32_t, 448]
|
||||
SocketThmResidencyAcc: Annotated[uint32_t, 452]
|
||||
VrThmResidencyAcc: Annotated[uint32_t, 456]
|
||||
HbmThmResidencyAcc: Annotated[uint32_t, 460]
|
||||
GfxLockXCDMak: Annotated[uint32_t, 464]
|
||||
GfxclkFrequency: Annotated[c.Array[uint32_t, Literal[8]], 468]
|
||||
XgmiReadDataSizeAcc: Annotated[c.Array[uint64_t, Literal[8]], 500]
|
||||
XgmiWriteDataSizeAcc: Annotated[c.Array[uint64_t, Literal[8]], 564]
|
||||
PcieBandwidth: Annotated[c.Array[uint32_t, Literal[4]], 628]
|
||||
PCIeL0ToRecoveryCountAcc: Annotated[uint32_t, 644]
|
||||
PCIenReplayAAcc: Annotated[uint32_t, 648]
|
||||
PCIenReplayARolloverCountAcc: Annotated[uint32_t, 652]
|
||||
PCIeNAKSentCountAcc: Annotated[uint32_t, 656]
|
||||
PCIeNAKReceivedCountAcc: Annotated[uint32_t, 660]
|
||||
VcnBusy: Annotated[c.Array[uint32_t, Literal[4]], 664]
|
||||
JpegBusy: Annotated[c.Array[uint32_t, Literal[40]], 680]
|
||||
PCIeLinkSpeed: Annotated[uint32_t, 840]
|
||||
PCIeLinkWidth: Annotated[uint32_t, 844]
|
||||
GfxBusy: Annotated[c.Array[uint32_t, Literal[8]], 848]
|
||||
GfxBusyAcc: Annotated[c.Array[uint64_t, Literal[8]], 880]
|
||||
PCIeOtherEndRecoveryAcc: Annotated[uint32_t, 944]
|
||||
GfxclkBelowHostLimitPptAcc: Annotated[c.Array[uint64_t, Literal[8]], 948]
|
||||
GfxclkBelowHostLimitThmAcc: Annotated[c.Array[uint64_t, Literal[8]], 1012]
|
||||
GfxclkBelowHostLimitTotalAcc: Annotated[c.Array[uint64_t, Literal[8]], 1076]
|
||||
GfxclkLowUtilizationAcc: Annotated[c.Array[uint64_t, Literal[8]], 1140]
|
||||
AidTemperature: Annotated[c.Array[uint32_t, Literal[4]], 1204]
|
||||
XcdTemperature: Annotated[c.Array[uint32_t, Literal[8]], 1220]
|
||||
HbmTemperature: Annotated[c.Array[uint32_t, Literal[8]], 1252]
|
||||
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
AccumulationCounter: int
|
||||
MaxSocketTemperature: int
|
||||
MaxVrTemperature: int
|
||||
MaxHbmTemperature: int
|
||||
MaxSocketTemperatureAcc: int
|
||||
MaxVrTemperatureAcc: int
|
||||
MaxHbmTemperatureAcc: int
|
||||
SocketPowerLimit: int
|
||||
SocketPower: int
|
||||
Timestamp: int
|
||||
SocketEnergyAcc: int
|
||||
XcdEnergyAcc: int
|
||||
AidEnergyAcc: int
|
||||
HbmEnergyAcc: int
|
||||
GfxclkFrequencyLimit: int
|
||||
FclkFrequency: int
|
||||
UclkFrequency: int
|
||||
SocclkFrequency: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
VclkFrequency: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
DclkFrequency: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
LclkFrequency: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
GfxclkFrequencyAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
MaxLclkDpmRange: int
|
||||
MinLclkDpmRange: int
|
||||
XgmiWidth: int
|
||||
XgmiBitrate: int
|
||||
XgmiReadBandwidthAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
XgmiWriteBandwidthAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
SocketGfxBusy: int
|
||||
DramBandwidthUtilization: int
|
||||
SocketGfxBusyAcc: int
|
||||
DramBandwidthAcc: int
|
||||
MaxDramBandwidth: int
|
||||
DramBandwidthUtilizationAcc: int
|
||||
PcieBandwidthAcc: c.Array[ctypes.c_uint64, Literal[4]]
|
||||
ProchotResidencyAcc: int
|
||||
PptResidencyAcc: int
|
||||
SocketThmResidencyAcc: int
|
||||
VrThmResidencyAcc: int
|
||||
HbmThmResidencyAcc: int
|
||||
GfxLockXCDMak: int
|
||||
GfxclkFrequency: c.Array[ctypes.c_uint32, Literal[8]]
|
||||
XgmiReadDataSizeAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
XgmiWriteDataSizeAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
PcieBandwidth: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
PCIeL0ToRecoveryCountAcc: int
|
||||
PCIenReplayAAcc: int
|
||||
PCIenReplayARolloverCountAcc: int
|
||||
PCIeNAKSentCountAcc: int
|
||||
PCIeNAKReceivedCountAcc: int
|
||||
VcnBusy: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
JpegBusy: c.Array[ctypes.c_uint32, Literal[40]]
|
||||
PCIeLinkSpeed: int
|
||||
PCIeLinkWidth: int
|
||||
GfxBusy: c.Array[ctypes.c_uint32, Literal[8]]
|
||||
GfxBusyAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
PCIeOtherEndRecoveryAcc: int
|
||||
GfxclkBelowHostLimitPptAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
GfxclkBelowHostLimitThmAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
GfxclkBelowHostLimitTotalAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
GfxclkLowUtilizationAcc: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
AidTemperature: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
XcdTemperature: c.Array[ctypes.c_uint32, Literal[8]]
|
||||
HbmTemperature: c.Array[ctypes.c_uint32, Literal[8]]
|
||||
uint64_t: TypeAlias = ctypes.c_uint64
|
||||
uint32_t: TypeAlias = ctypes.c_uint32
|
||||
MetricsTable_t.register_fields([('AccumulationCounter', uint64_t, 0), ('MaxSocketTemperature', uint32_t, 8), ('MaxVrTemperature', uint32_t, 12), ('MaxHbmTemperature', uint32_t, 16), ('MaxSocketTemperatureAcc', uint64_t, 20), ('MaxVrTemperatureAcc', uint64_t, 28), ('MaxHbmTemperatureAcc', uint64_t, 36), ('SocketPowerLimit', uint32_t, 44), ('SocketPower', uint32_t, 48), ('Timestamp', uint64_t, 52), ('SocketEnergyAcc', uint64_t, 60), ('XcdEnergyAcc', uint64_t, 68), ('AidEnergyAcc', uint64_t, 76), ('HbmEnergyAcc', uint64_t, 84), ('GfxclkFrequencyLimit', uint32_t, 92), ('FclkFrequency', uint32_t, 96), ('UclkFrequency', uint32_t, 100), ('SocclkFrequency', c.Array[uint32_t, Literal[4]], 104), ('VclkFrequency', c.Array[uint32_t, Literal[4]], 120), ('DclkFrequency', c.Array[uint32_t, Literal[4]], 136), ('LclkFrequency', c.Array[uint32_t, Literal[4]], 152), ('GfxclkFrequencyAcc', c.Array[uint64_t, Literal[8]], 168), ('MaxLclkDpmRange', uint32_t, 232), ('MinLclkDpmRange', uint32_t, 236), ('XgmiWidth', uint32_t, 240), ('XgmiBitrate', uint32_t, 244), ('XgmiReadBandwidthAcc', c.Array[uint64_t, Literal[8]], 248), ('XgmiWriteBandwidthAcc', c.Array[uint64_t, Literal[8]], 312), ('SocketGfxBusy', uint32_t, 376), ('DramBandwidthUtilization', uint32_t, 380), ('SocketGfxBusyAcc', uint64_t, 384), ('DramBandwidthAcc', uint64_t, 392), ('MaxDramBandwidth', uint32_t, 400), ('DramBandwidthUtilizationAcc', uint64_t, 404), ('PcieBandwidthAcc', c.Array[uint64_t, Literal[4]], 412), ('ProchotResidencyAcc', uint32_t, 444), ('PptResidencyAcc', uint32_t, 448), ('SocketThmResidencyAcc', uint32_t, 452), ('VrThmResidencyAcc', uint32_t, 456), ('HbmThmResidencyAcc', uint32_t, 460), ('GfxLockXCDMak', uint32_t, 464), ('GfxclkFrequency', c.Array[uint32_t, Literal[8]], 468), ('XgmiReadDataSizeAcc', c.Array[uint64_t, Literal[8]], 500), ('XgmiWriteDataSizeAcc', c.Array[uint64_t, Literal[8]], 564), ('PcieBandwidth', c.Array[uint32_t, Literal[4]], 628), ('PCIeL0ToRecoveryCountAcc', uint32_t, 644), ('PCIenReplayAAcc', uint32_t, 648), ('PCIenReplayARolloverCountAcc', uint32_t, 652), ('PCIeNAKSentCountAcc', uint32_t, 656), ('PCIeNAKReceivedCountAcc', uint32_t, 660), ('VcnBusy', c.Array[uint32_t, Literal[4]], 664), ('JpegBusy', c.Array[uint32_t, Literal[40]], 680), ('PCIeLinkSpeed', uint32_t, 840), ('PCIeLinkWidth', uint32_t, 844), ('GfxBusy', c.Array[uint32_t, Literal[8]], 848), ('GfxBusyAcc', c.Array[uint64_t, Literal[8]], 880), ('PCIeOtherEndRecoveryAcc', uint32_t, 944), ('GfxclkBelowHostLimitPptAcc', c.Array[uint64_t, Literal[8]], 948), ('GfxclkBelowHostLimitThmAcc', c.Array[uint64_t, Literal[8]], 1012), ('GfxclkBelowHostLimitTotalAcc', c.Array[uint64_t, Literal[8]], 1076), ('GfxclkLowUtilizationAcc', c.Array[uint64_t, Literal[8]], 1140), ('AidTemperature', c.Array[uint32_t, Literal[4]], 1204), ('XcdTemperature', c.Array[uint32_t, Literal[8]], 1220), ('HbmTemperature', c.Array[uint32_t, Literal[8]], 1252)])
|
||||
@c.record
|
||||
class SystemMetricsTable_t(c.Struct):
|
||||
SIZE = 152
|
||||
AccumulationCounter: Annotated[uint64_t, 0]
|
||||
LabelVersion: Annotated[uint16_t, 8]
|
||||
NodeIdentifier: Annotated[uint16_t, 10]
|
||||
SystemTemperatures: Annotated[c.Array[int16_t, Literal[32]], 12]
|
||||
NodeTemperatures: Annotated[c.Array[int16_t, Literal[12]], 76]
|
||||
VrTemperatures: Annotated[c.Array[int16_t, Literal[13]], 100]
|
||||
spare: Annotated[c.Array[int16_t, Literal[7]], 126]
|
||||
NodePowerLimit: Annotated[uint32_t, 140]
|
||||
NodePower: Annotated[uint32_t, 144]
|
||||
GlobalPPTResidencyAcc: Annotated[uint32_t, 148]
|
||||
uint16_t: TypeAlias = Annotated[int, ctypes.c_uint16]
|
||||
int16_t: TypeAlias = Annotated[int, ctypes.c_int16]
|
||||
AccumulationCounter: int
|
||||
LabelVersion: int
|
||||
NodeIdentifier: int
|
||||
SystemTemperatures: c.Array[ctypes.c_int16, Literal[32]]
|
||||
NodeTemperatures: c.Array[ctypes.c_int16, Literal[12]]
|
||||
VrTemperatures: c.Array[ctypes.c_int16, Literal[13]]
|
||||
spare: c.Array[ctypes.c_int16, Literal[7]]
|
||||
NodePowerLimit: int
|
||||
NodePower: int
|
||||
GlobalPPTResidencyAcc: int
|
||||
uint16_t: TypeAlias = ctypes.c_uint16
|
||||
int16_t: TypeAlias = ctypes.c_int16
|
||||
SystemMetricsTable_t.register_fields([('AccumulationCounter', uint64_t, 0), ('LabelVersion', uint16_t, 8), ('NodeIdentifier', uint16_t, 10), ('SystemTemperatures', c.Array[int16_t, Literal[32]], 12), ('NodeTemperatures', c.Array[int16_t, Literal[12]], 76), ('VrTemperatures', c.Array[int16_t, Literal[13]], 100), ('spare', c.Array[int16_t, Literal[7]], 126), ('NodePowerLimit', uint32_t, 140), ('NodePower', uint32_t, 144), ('GlobalPPTResidencyAcc', uint32_t, 148)])
|
||||
@c.record
|
||||
class VfMetricsTable_t(c.Struct):
|
||||
SIZE = 56
|
||||
AccumulationCounter: Annotated[uint32_t, 0]
|
||||
InstGfxclk_TargFreq: Annotated[uint32_t, 4]
|
||||
AccGfxclk_TargFreq: Annotated[uint64_t, 8]
|
||||
AccGfxRsmuDpm_Busy: Annotated[uint64_t, 16]
|
||||
AccGfxclkBelowHostLimitPpt: Annotated[uint64_t, 24]
|
||||
AccGfxclkBelowHostLimitThm: Annotated[uint64_t, 32]
|
||||
AccGfxclkBelowHostLimitTotal: Annotated[uint64_t, 40]
|
||||
AccGfxclkLowUtilization: Annotated[uint64_t, 48]
|
||||
AccumulationCounter: int
|
||||
InstGfxclk_TargFreq: int
|
||||
AccGfxclk_TargFreq: int
|
||||
AccGfxRsmuDpm_Busy: int
|
||||
AccGfxclkBelowHostLimitPpt: int
|
||||
AccGfxclkBelowHostLimitThm: int
|
||||
AccGfxclkBelowHostLimitTotal: int
|
||||
AccGfxclkLowUtilization: int
|
||||
VfMetricsTable_t.register_fields([('AccumulationCounter', uint32_t, 0), ('InstGfxclk_TargFreq', uint32_t, 4), ('AccGfxclk_TargFreq', uint64_t, 8), ('AccGfxRsmuDpm_Busy', uint64_t, 16), ('AccGfxclkBelowHostLimitPpt', uint64_t, 24), ('AccGfxclkBelowHostLimitThm', uint64_t, 32), ('AccGfxclkBelowHostLimitTotal', uint64_t, 40), ('AccGfxclkLowUtilization', uint64_t, 48)])
|
||||
@c.record
|
||||
class FRUProductInfo_t(c.Struct):
|
||||
SIZE = 168
|
||||
ModelNumber: Annotated[c.Array[uint8_t, Literal[20]], 0]
|
||||
Name: Annotated[c.Array[uint8_t, Literal[64]], 20]
|
||||
Serial: Annotated[c.Array[uint8_t, Literal[20]], 84]
|
||||
ManufacturerName: Annotated[c.Array[uint8_t, Literal[32]], 104]
|
||||
FruId: Annotated[c.Array[uint8_t, Literal[32]], 136]
|
||||
uint8_t: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
||||
ModelNumber: c.Array[ctypes.c_ubyte, Literal[20]]
|
||||
Name: c.Array[ctypes.c_ubyte, Literal[64]]
|
||||
Serial: c.Array[ctypes.c_ubyte, Literal[20]]
|
||||
ManufacturerName: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
FruId: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
uint8_t: TypeAlias = ctypes.c_ubyte
|
||||
FRUProductInfo_t.register_fields([('ModelNumber', c.Array[uint8_t, Literal[20]], 0), ('Name', c.Array[uint8_t, Literal[64]], 20), ('Serial', c.Array[uint8_t, Literal[20]], 84), ('ManufacturerName', c.Array[uint8_t, Literal[32]], 104), ('FruId', c.Array[uint8_t, Literal[32]], 136)])
|
||||
@c.record
|
||||
class StaticMetricsTable_t(c.Struct):
|
||||
SIZE = 408
|
||||
ProductInfo: Annotated[FRUProductInfo_t, 0]
|
||||
MaxSocketPowerLimit: Annotated[uint32_t, 168]
|
||||
MaxGfxclkFrequency: Annotated[uint32_t, 172]
|
||||
MinGfxclkFrequency: Annotated[uint32_t, 176]
|
||||
FclkFrequencyTable: Annotated[c.Array[uint32_t, Literal[4]], 180]
|
||||
UclkFrequencyTable: Annotated[c.Array[uint32_t, Literal[4]], 196]
|
||||
SocclkFrequencyTable: Annotated[c.Array[uint32_t, Literal[4]], 212]
|
||||
VclkFrequencyTable: Annotated[c.Array[uint32_t, Literal[4]], 228]
|
||||
DclkFrequencyTable: Annotated[c.Array[uint32_t, Literal[4]], 244]
|
||||
LclkFrequencyTable: Annotated[c.Array[uint32_t, Literal[4]], 260]
|
||||
PublicSerialNumber_AID: Annotated[c.Array[uint64_t, Literal[4]], 276]
|
||||
PublicSerialNumber_XCD: Annotated[c.Array[uint64_t, Literal[8]], 308]
|
||||
MaxXgmiWidth: Annotated[uint32_t, 372]
|
||||
MaxXgmiBitrate: Annotated[uint32_t, 376]
|
||||
InputTelemetryVoltageInmV: Annotated[uint32_t, 380]
|
||||
pldmVersion: Annotated[c.Array[uint32_t, Literal[2]], 384]
|
||||
MaxNodePowerLimit: Annotated[uint32_t, 392]
|
||||
PPT1Max: Annotated[uint32_t, 396]
|
||||
PPT1Min: Annotated[uint32_t, 400]
|
||||
PPT1Default: Annotated[uint32_t, 404]
|
||||
class I2cControllerPort_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
I2C_CONTROLLER_PORT_0 = I2cControllerPort_e.define('I2C_CONTROLLER_PORT_0', 0)
|
||||
I2C_CONTROLLER_PORT_1 = I2cControllerPort_e.define('I2C_CONTROLLER_PORT_1', 1)
|
||||
I2C_CONTROLLER_PORT_COUNT = I2cControllerPort_e.define('I2C_CONTROLLER_PORT_COUNT', 2)
|
||||
|
||||
class I2cSpeed_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
UNSUPPORTED_1 = I2cSpeed_e.define('UNSUPPORTED_1', 0)
|
||||
I2C_SPEED_STANDARD_100K = I2cSpeed_e.define('I2C_SPEED_STANDARD_100K', 1)
|
||||
I2C_SPEED_FAST_400K = I2cSpeed_e.define('I2C_SPEED_FAST_400K', 2)
|
||||
I2C_SPEED_FAST_PLUS_1M = I2cSpeed_e.define('I2C_SPEED_FAST_PLUS_1M', 3)
|
||||
UNSUPPORTED_2 = I2cSpeed_e.define('UNSUPPORTED_2', 4)
|
||||
UNSUPPORTED_3 = I2cSpeed_e.define('UNSUPPORTED_3', 5)
|
||||
I2C_SPEED_COUNT = I2cSpeed_e.define('I2C_SPEED_COUNT', 6)
|
||||
|
||||
class I2cCmdType_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
I2C_CMD_READ = I2cCmdType_e.define('I2C_CMD_READ', 0)
|
||||
I2C_CMD_WRITE = I2cCmdType_e.define('I2C_CMD_WRITE', 1)
|
||||
I2C_CMD_COUNT = I2cCmdType_e.define('I2C_CMD_COUNT', 2)
|
||||
|
||||
class ERR_CODE_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
CODE_DAGB0 = ERR_CODE_e.define('CODE_DAGB0', 0)
|
||||
CODE_EA0 = ERR_CODE_e.define('CODE_EA0', 5)
|
||||
CODE_UTCL2_ROUTER = ERR_CODE_e.define('CODE_UTCL2_ROUTER', 10)
|
||||
CODE_VML2 = ERR_CODE_e.define('CODE_VML2', 11)
|
||||
CODE_VML2_WALKER = ERR_CODE_e.define('CODE_VML2_WALKER', 12)
|
||||
CODE_MMCANE = ERR_CODE_e.define('CODE_MMCANE', 13)
|
||||
CODE_VIDD = ERR_CODE_e.define('CODE_VIDD', 14)
|
||||
CODE_VIDV = ERR_CODE_e.define('CODE_VIDV', 15)
|
||||
CODE_JPEG0S = ERR_CODE_e.define('CODE_JPEG0S', 16)
|
||||
CODE_JPEG0D = ERR_CODE_e.define('CODE_JPEG0D', 17)
|
||||
CODE_JPEG1S = ERR_CODE_e.define('CODE_JPEG1S', 18)
|
||||
CODE_JPEG1D = ERR_CODE_e.define('CODE_JPEG1D', 19)
|
||||
CODE_JPEG2S = ERR_CODE_e.define('CODE_JPEG2S', 20)
|
||||
CODE_JPEG2D = ERR_CODE_e.define('CODE_JPEG2D', 21)
|
||||
CODE_JPEG3S = ERR_CODE_e.define('CODE_JPEG3S', 22)
|
||||
CODE_JPEG3D = ERR_CODE_e.define('CODE_JPEG3D', 23)
|
||||
CODE_JPEG4S = ERR_CODE_e.define('CODE_JPEG4S', 24)
|
||||
CODE_JPEG4D = ERR_CODE_e.define('CODE_JPEG4D', 25)
|
||||
CODE_JPEG5S = ERR_CODE_e.define('CODE_JPEG5S', 26)
|
||||
CODE_JPEG5D = ERR_CODE_e.define('CODE_JPEG5D', 27)
|
||||
CODE_JPEG6S = ERR_CODE_e.define('CODE_JPEG6S', 28)
|
||||
CODE_JPEG6D = ERR_CODE_e.define('CODE_JPEG6D', 29)
|
||||
CODE_JPEG7S = ERR_CODE_e.define('CODE_JPEG7S', 30)
|
||||
CODE_JPEG7D = ERR_CODE_e.define('CODE_JPEG7D', 31)
|
||||
CODE_MMSCHD = ERR_CODE_e.define('CODE_MMSCHD', 32)
|
||||
CODE_SDMA0 = ERR_CODE_e.define('CODE_SDMA0', 33)
|
||||
CODE_SDMA1 = ERR_CODE_e.define('CODE_SDMA1', 34)
|
||||
CODE_SDMA2 = ERR_CODE_e.define('CODE_SDMA2', 35)
|
||||
CODE_SDMA3 = ERR_CODE_e.define('CODE_SDMA3', 36)
|
||||
CODE_HDP = ERR_CODE_e.define('CODE_HDP', 37)
|
||||
CODE_ATHUB = ERR_CODE_e.define('CODE_ATHUB', 38)
|
||||
CODE_IH = ERR_CODE_e.define('CODE_IH', 39)
|
||||
CODE_XHUB_POISON = ERR_CODE_e.define('CODE_XHUB_POISON', 40)
|
||||
CODE_SMN_SLVERR = ERR_CODE_e.define('CODE_SMN_SLVERR', 40)
|
||||
CODE_WDT = ERR_CODE_e.define('CODE_WDT', 41)
|
||||
CODE_UNKNOWN = ERR_CODE_e.define('CODE_UNKNOWN', 42)
|
||||
CODE_COUNT = ERR_CODE_e.define('CODE_COUNT', 43)
|
||||
|
||||
class GC_ERROR_CODE_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SH_FED_CODE = GC_ERROR_CODE_e.define('SH_FED_CODE', 0)
|
||||
GCEA_CODE = GC_ERROR_CODE_e.define('GCEA_CODE', 1)
|
||||
SQ_CODE = GC_ERROR_CODE_e.define('SQ_CODE', 2)
|
||||
LDS_CODE = GC_ERROR_CODE_e.define('LDS_CODE', 3)
|
||||
GDS_CODE = GC_ERROR_CODE_e.define('GDS_CODE', 4)
|
||||
SP0_CODE = GC_ERROR_CODE_e.define('SP0_CODE', 5)
|
||||
SP1_CODE = GC_ERROR_CODE_e.define('SP1_CODE', 6)
|
||||
TCC_CODE = GC_ERROR_CODE_e.define('TCC_CODE', 7)
|
||||
TCA_CODE = GC_ERROR_CODE_e.define('TCA_CODE', 8)
|
||||
TCX_CODE = GC_ERROR_CODE_e.define('TCX_CODE', 9)
|
||||
CPC_CODE = GC_ERROR_CODE_e.define('CPC_CODE', 10)
|
||||
CPF_CODE = GC_ERROR_CODE_e.define('CPF_CODE', 11)
|
||||
CPG_CODE = GC_ERROR_CODE_e.define('CPG_CODE', 12)
|
||||
SPI_CODE = GC_ERROR_CODE_e.define('SPI_CODE', 13)
|
||||
RLC_CODE = GC_ERROR_CODE_e.define('RLC_CODE', 14)
|
||||
SQC_CODE = GC_ERROR_CODE_e.define('SQC_CODE', 15)
|
||||
TA_CODE = GC_ERROR_CODE_e.define('TA_CODE', 16)
|
||||
TD_CODE = GC_ERROR_CODE_e.define('TD_CODE', 17)
|
||||
TCP_CODE = GC_ERROR_CODE_e.define('TCP_CODE', 18)
|
||||
TCI_CODE = GC_ERROR_CODE_e.define('TCI_CODE', 19)
|
||||
GC_ROUTER_CODE = GC_ERROR_CODE_e.define('GC_ROUTER_CODE', 20)
|
||||
VML2_CODE = GC_ERROR_CODE_e.define('VML2_CODE', 21)
|
||||
VML2_WALKER_CODE = GC_ERROR_CODE_e.define('VML2_WALKER_CODE', 22)
|
||||
ATCL2_CODE = GC_ERROR_CODE_e.define('ATCL2_CODE', 23)
|
||||
GC_CANE_CODE = GC_ERROR_CODE_e.define('GC_CANE_CODE', 24)
|
||||
MP5_CODE_SMN_SLVERR = GC_ERROR_CODE_e.define('MP5_CODE_SMN_SLVERR', 40)
|
||||
MP5_CODE_UNKNOWN = GC_ERROR_CODE_e.define('MP5_CODE_UNKNOWN', 42)
|
||||
|
||||
ProductInfo: FRUProductInfo_t
|
||||
MaxSocketPowerLimit: int
|
||||
MaxGfxclkFrequency: int
|
||||
MinGfxclkFrequency: int
|
||||
FclkFrequencyTable: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
UclkFrequencyTable: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
SocclkFrequencyTable: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
VclkFrequencyTable: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
DclkFrequencyTable: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
LclkFrequencyTable: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
PublicSerialNumber_AID: c.Array[ctypes.c_uint64, Literal[4]]
|
||||
PublicSerialNumber_XCD: c.Array[ctypes.c_uint64, Literal[8]]
|
||||
MaxXgmiWidth: int
|
||||
MaxXgmiBitrate: int
|
||||
InputTelemetryVoltageInmV: int
|
||||
pldmVersion: c.Array[ctypes.c_uint32, Literal[2]]
|
||||
MaxNodePowerLimit: int
|
||||
PPT1Max: int
|
||||
PPT1Min: int
|
||||
PPT1Default: int
|
||||
StaticMetricsTable_t.register_fields([('ProductInfo', FRUProductInfo_t, 0), ('MaxSocketPowerLimit', uint32_t, 168), ('MaxGfxclkFrequency', uint32_t, 172), ('MinGfxclkFrequency', uint32_t, 176), ('FclkFrequencyTable', c.Array[uint32_t, Literal[4]], 180), ('UclkFrequencyTable', c.Array[uint32_t, Literal[4]], 196), ('SocclkFrequencyTable', c.Array[uint32_t, Literal[4]], 212), ('VclkFrequencyTable', c.Array[uint32_t, Literal[4]], 228), ('DclkFrequencyTable', c.Array[uint32_t, Literal[4]], 244), ('LclkFrequencyTable', c.Array[uint32_t, Literal[4]], 260), ('PublicSerialNumber_AID', c.Array[uint64_t, Literal[4]], 276), ('PublicSerialNumber_XCD', c.Array[uint64_t, Literal[8]], 308), ('MaxXgmiWidth', uint32_t, 372), ('MaxXgmiBitrate', uint32_t, 376), ('InputTelemetryVoltageInmV', uint32_t, 380), ('pldmVersion', c.Array[uint32_t, Literal[2]], 384), ('MaxNodePowerLimit', uint32_t, 392), ('PPT1Max', uint32_t, 396), ('PPT1Min', uint32_t, 400), ('PPT1Default', uint32_t, 404)])
|
||||
I2cControllerPort_e: dict[int, str] = {(I2C_CONTROLLER_PORT_0:=0): 'I2C_CONTROLLER_PORT_0', (I2C_CONTROLLER_PORT_1:=1): 'I2C_CONTROLLER_PORT_1', (I2C_CONTROLLER_PORT_COUNT:=2): 'I2C_CONTROLLER_PORT_COUNT'}
|
||||
I2cSpeed_e: dict[int, str] = {(UNSUPPORTED_1:=0): 'UNSUPPORTED_1', (I2C_SPEED_STANDARD_100K:=1): 'I2C_SPEED_STANDARD_100K', (I2C_SPEED_FAST_400K:=2): 'I2C_SPEED_FAST_400K', (I2C_SPEED_FAST_PLUS_1M:=3): 'I2C_SPEED_FAST_PLUS_1M', (UNSUPPORTED_2:=4): 'UNSUPPORTED_2', (UNSUPPORTED_3:=5): 'UNSUPPORTED_3', (I2C_SPEED_COUNT:=6): 'I2C_SPEED_COUNT'}
|
||||
I2cCmdType_e: dict[int, str] = {(I2C_CMD_READ:=0): 'I2C_CMD_READ', (I2C_CMD_WRITE:=1): 'I2C_CMD_WRITE', (I2C_CMD_COUNT:=2): 'I2C_CMD_COUNT'}
|
||||
ERR_CODE_e: dict[int, str] = {(CODE_DAGB0:=0): 'CODE_DAGB0', (CODE_EA0:=5): 'CODE_EA0', (CODE_UTCL2_ROUTER:=10): 'CODE_UTCL2_ROUTER', (CODE_VML2:=11): 'CODE_VML2', (CODE_VML2_WALKER:=12): 'CODE_VML2_WALKER', (CODE_MMCANE:=13): 'CODE_MMCANE', (CODE_VIDD:=14): 'CODE_VIDD', (CODE_VIDV:=15): 'CODE_VIDV', (CODE_JPEG0S:=16): 'CODE_JPEG0S', (CODE_JPEG0D:=17): 'CODE_JPEG0D', (CODE_JPEG1S:=18): 'CODE_JPEG1S', (CODE_JPEG1D:=19): 'CODE_JPEG1D', (CODE_JPEG2S:=20): 'CODE_JPEG2S', (CODE_JPEG2D:=21): 'CODE_JPEG2D', (CODE_JPEG3S:=22): 'CODE_JPEG3S', (CODE_JPEG3D:=23): 'CODE_JPEG3D', (CODE_JPEG4S:=24): 'CODE_JPEG4S', (CODE_JPEG4D:=25): 'CODE_JPEG4D', (CODE_JPEG5S:=26): 'CODE_JPEG5S', (CODE_JPEG5D:=27): 'CODE_JPEG5D', (CODE_JPEG6S:=28): 'CODE_JPEG6S', (CODE_JPEG6D:=29): 'CODE_JPEG6D', (CODE_JPEG7S:=30): 'CODE_JPEG7S', (CODE_JPEG7D:=31): 'CODE_JPEG7D', (CODE_MMSCHD:=32): 'CODE_MMSCHD', (CODE_SDMA0:=33): 'CODE_SDMA0', (CODE_SDMA1:=34): 'CODE_SDMA1', (CODE_SDMA2:=35): 'CODE_SDMA2', (CODE_SDMA3:=36): 'CODE_SDMA3', (CODE_HDP:=37): 'CODE_HDP', (CODE_ATHUB:=38): 'CODE_ATHUB', (CODE_IH:=39): 'CODE_IH', (CODE_XHUB_POISON:=40): 'CODE_XHUB_POISON', (CODE_SMN_SLVERR:=40): 'CODE_SMN_SLVERR', (CODE_WDT:=41): 'CODE_WDT', (CODE_UNKNOWN:=42): 'CODE_UNKNOWN', (CODE_COUNT:=43): 'CODE_COUNT'}
|
||||
GC_ERROR_CODE_e: dict[int, str] = {(SH_FED_CODE:=0): 'SH_FED_CODE', (GCEA_CODE:=1): 'GCEA_CODE', (SQ_CODE:=2): 'SQ_CODE', (LDS_CODE:=3): 'LDS_CODE', (GDS_CODE:=4): 'GDS_CODE', (SP0_CODE:=5): 'SP0_CODE', (SP1_CODE:=6): 'SP1_CODE', (TCC_CODE:=7): 'TCC_CODE', (TCA_CODE:=8): 'TCA_CODE', (TCX_CODE:=9): 'TCX_CODE', (CPC_CODE:=10): 'CPC_CODE', (CPF_CODE:=11): 'CPF_CODE', (CPG_CODE:=12): 'CPG_CODE', (SPI_CODE:=13): 'SPI_CODE', (RLC_CODE:=14): 'RLC_CODE', (SQC_CODE:=15): 'SQC_CODE', (TA_CODE:=16): 'TA_CODE', (TD_CODE:=17): 'TD_CODE', (TCP_CODE:=18): 'TCP_CODE', (TCI_CODE:=19): 'TCI_CODE', (GC_ROUTER_CODE:=20): 'GC_ROUTER_CODE', (VML2_CODE:=21): 'VML2_CODE', (VML2_WALKER_CODE:=22): 'VML2_WALKER_CODE', (ATCL2_CODE:=23): 'ATCL2_CODE', (GC_CANE_CODE:=24): 'GC_CANE_CODE', (MP5_CODE_SMN_SLVERR:=40): 'MP5_CODE_SMN_SLVERR', (MP5_CODE_UNKNOWN:=42): 'MP5_CODE_UNKNOWN'}
|
||||
@c.record
|
||||
class SwI2cCmd_t(c.Struct):
|
||||
SIZE = 2
|
||||
ReadWriteData: Annotated[uint8_t, 0]
|
||||
CmdConfig: Annotated[uint8_t, 1]
|
||||
ReadWriteData: int
|
||||
CmdConfig: int
|
||||
SwI2cCmd_t.register_fields([('ReadWriteData', uint8_t, 0), ('CmdConfig', uint8_t, 1)])
|
||||
@c.record
|
||||
class SwI2cRequest_t(c.Struct):
|
||||
SIZE = 52
|
||||
I2CcontrollerPort: Annotated[uint8_t, 0]
|
||||
I2CSpeed: Annotated[uint8_t, 1]
|
||||
SlaveAddress: Annotated[uint8_t, 2]
|
||||
NumCmds: Annotated[uint8_t, 3]
|
||||
SwI2cCmds: Annotated[c.Array[SwI2cCmd_t, Literal[24]], 4]
|
||||
I2CcontrollerPort: int
|
||||
I2CSpeed: int
|
||||
SlaveAddress: int
|
||||
NumCmds: int
|
||||
SwI2cCmds: c.Array[SwI2cCmd_t, Literal[24]]
|
||||
SwI2cRequest_t.register_fields([('I2CcontrollerPort', uint8_t, 0), ('I2CSpeed', uint8_t, 1), ('SlaveAddress', uint8_t, 2), ('NumCmds', uint8_t, 3), ('SwI2cCmds', c.Array[SwI2cCmd_t, Literal[24]], 4)])
|
||||
@c.record
|
||||
class SwI2cRequestExternal_t(c.Struct):
|
||||
SIZE = 116
|
||||
SwI2cRequest: Annotated[SwI2cRequest_t, 0]
|
||||
Spare: Annotated[c.Array[uint32_t, Literal[8]], 52]
|
||||
MmHubPadding: Annotated[c.Array[uint32_t, Literal[8]], 84]
|
||||
class PPCLK_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
PPCLK_VCLK = PPCLK_e.define('PPCLK_VCLK', 0)
|
||||
PPCLK_DCLK = PPCLK_e.define('PPCLK_DCLK', 1)
|
||||
PPCLK_SOCCLK = PPCLK_e.define('PPCLK_SOCCLK', 2)
|
||||
PPCLK_UCLK = PPCLK_e.define('PPCLK_UCLK', 3)
|
||||
PPCLK_FCLK = PPCLK_e.define('PPCLK_FCLK', 4)
|
||||
PPCLK_LCLK = PPCLK_e.define('PPCLK_LCLK', 5)
|
||||
PPCLK_COUNT = PPCLK_e.define('PPCLK_COUNT', 6)
|
||||
|
||||
class GpioIntPolarity_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
GPIO_INT_POLARITY_ACTIVE_LOW = GpioIntPolarity_e.define('GPIO_INT_POLARITY_ACTIVE_LOW', 0)
|
||||
GPIO_INT_POLARITY_ACTIVE_HIGH = GpioIntPolarity_e.define('GPIO_INT_POLARITY_ACTIVE_HIGH', 1)
|
||||
|
||||
class UCLK_DPM_MODE_e(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
UCLK_DPM_MODE_BANDWIDTH = UCLK_DPM_MODE_e.define('UCLK_DPM_MODE_BANDWIDTH', 0)
|
||||
UCLK_DPM_MODE_LATENCY = UCLK_DPM_MODE_e.define('UCLK_DPM_MODE_LATENCY', 1)
|
||||
|
||||
SwI2cRequest: SwI2cRequest_t
|
||||
Spare: c.Array[ctypes.c_uint32, Literal[8]]
|
||||
MmHubPadding: c.Array[ctypes.c_uint32, Literal[8]]
|
||||
SwI2cRequestExternal_t.register_fields([('SwI2cRequest', SwI2cRequest_t, 0), ('Spare', c.Array[uint32_t, Literal[8]], 52), ('MmHubPadding', c.Array[uint32_t, Literal[8]], 84)])
|
||||
PPCLK_e: dict[int, str] = {(PPCLK_VCLK:=0): 'PPCLK_VCLK', (PPCLK_DCLK:=1): 'PPCLK_DCLK', (PPCLK_SOCCLK:=2): 'PPCLK_SOCCLK', (PPCLK_UCLK:=3): 'PPCLK_UCLK', (PPCLK_FCLK:=4): 'PPCLK_FCLK', (PPCLK_LCLK:=5): 'PPCLK_LCLK', (PPCLK_COUNT:=6): 'PPCLK_COUNT'}
|
||||
GpioIntPolarity_e: dict[int, str] = {(GPIO_INT_POLARITY_ACTIVE_LOW:=0): 'GPIO_INT_POLARITY_ACTIVE_LOW', (GPIO_INT_POLARITY_ACTIVE_HIGH:=1): 'GPIO_INT_POLARITY_ACTIVE_HIGH'}
|
||||
UCLK_DPM_MODE_e: dict[int, str] = {(UCLK_DPM_MODE_BANDWIDTH:=0): 'UCLK_DPM_MODE_BANDWIDTH', (UCLK_DPM_MODE_LATENCY:=1): 'UCLK_DPM_MODE_LATENCY'}
|
||||
@c.record
|
||||
class AvfsDebugTableAid_t(c.Struct):
|
||||
SIZE = 360
|
||||
avgPsmCount: Annotated[c.Array[uint16_t, Literal[30]], 0]
|
||||
minPsmCount: Annotated[c.Array[uint16_t, Literal[30]], 60]
|
||||
avgPsmVoltage: Annotated[c.Array[Annotated[float, ctypes.c_float], Literal[30]], 120]
|
||||
minPsmVoltage: Annotated[c.Array[Annotated[float, ctypes.c_float], Literal[30]], 240]
|
||||
avgPsmCount: c.Array[ctypes.c_uint16, Literal[30]]
|
||||
minPsmCount: c.Array[ctypes.c_uint16, Literal[30]]
|
||||
avgPsmVoltage: c.Array[ctypes.c_float, Literal[30]]
|
||||
minPsmVoltage: c.Array[ctypes.c_float, Literal[30]]
|
||||
AvfsDebugTableAid_t.register_fields([('avgPsmCount', c.Array[uint16_t, Literal[30]], 0), ('minPsmCount', c.Array[uint16_t, Literal[30]], 60), ('avgPsmVoltage', c.Array[ctypes.c_float, Literal[30]], 120), ('minPsmVoltage', c.Array[ctypes.c_float, Literal[30]], 240)])
|
||||
@c.record
|
||||
class AvfsDebugTableXcd_t(c.Struct):
|
||||
SIZE = 360
|
||||
avgPsmCount: Annotated[c.Array[uint16_t, Literal[30]], 0]
|
||||
minPsmCount: Annotated[c.Array[uint16_t, Literal[30]], 60]
|
||||
avgPsmVoltage: Annotated[c.Array[Annotated[float, ctypes.c_float], Literal[30]], 120]
|
||||
minPsmVoltage: Annotated[c.Array[Annotated[float, ctypes.c_float], Literal[30]], 240]
|
||||
avgPsmCount: c.Array[ctypes.c_uint16, Literal[30]]
|
||||
minPsmCount: c.Array[ctypes.c_uint16, Literal[30]]
|
||||
avgPsmVoltage: c.Array[ctypes.c_float, Literal[30]]
|
||||
minPsmVoltage: c.Array[ctypes.c_float, Literal[30]]
|
||||
AvfsDebugTableXcd_t.register_fields([('avgPsmCount', c.Array[uint16_t, Literal[30]], 0), ('minPsmCount', c.Array[uint16_t, Literal[30]], 60), ('avgPsmVoltage', c.Array[ctypes.c_float, Literal[30]], 120), ('minPsmVoltage', c.Array[ctypes.c_float, Literal[30]], 240)])
|
||||
@c.record
|
||||
class struct_smu_hw_power_state(c.Struct):
|
||||
SIZE = 4
|
||||
magic: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
class struct_smu_power_state(c.Struct): SIZE = 0
|
||||
class enum_smu_state_ui_label(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SMU_STATE_UI_LABEL_NONE = enum_smu_state_ui_label.define('SMU_STATE_UI_LABEL_NONE', 0)
|
||||
SMU_STATE_UI_LABEL_BATTERY = enum_smu_state_ui_label.define('SMU_STATE_UI_LABEL_BATTERY', 1)
|
||||
SMU_STATE_UI_TABEL_MIDDLE_LOW = enum_smu_state_ui_label.define('SMU_STATE_UI_TABEL_MIDDLE_LOW', 2)
|
||||
SMU_STATE_UI_LABEL_BALLANCED = enum_smu_state_ui_label.define('SMU_STATE_UI_LABEL_BALLANCED', 3)
|
||||
SMU_STATE_UI_LABEL_MIDDLE_HIGHT = enum_smu_state_ui_label.define('SMU_STATE_UI_LABEL_MIDDLE_HIGHT', 4)
|
||||
SMU_STATE_UI_LABEL_PERFORMANCE = enum_smu_state_ui_label.define('SMU_STATE_UI_LABEL_PERFORMANCE', 5)
|
||||
SMU_STATE_UI_LABEL_BACO = enum_smu_state_ui_label.define('SMU_STATE_UI_LABEL_BACO', 6)
|
||||
|
||||
class enum_smu_state_classification_flag(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SMU_STATE_CLASSIFICATION_FLAG_BOOT = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_BOOT', 1)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_THERMAL = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_THERMAL', 2)
|
||||
SMU_STATE_CLASSIFICATIN_FLAG_LIMITED_POWER_SOURCE = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATIN_FLAG_LIMITED_POWER_SOURCE', 4)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_RESET = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_RESET', 8)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_FORCED = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_FORCED', 16)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_USER_3D_PERFORMANCE = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_USER_3D_PERFORMANCE', 32)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_USER_2D_PERFORMANCE = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_USER_2D_PERFORMANCE', 64)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_3D_PERFORMANCE = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_3D_PERFORMANCE', 128)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_AC_OVERDIRVER_TEMPLATE = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_AC_OVERDIRVER_TEMPLATE', 256)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_UVD = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_UVD', 512)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_3D_PERFORMANCE_LOW = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_3D_PERFORMANCE_LOW', 1024)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_ACPI = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_ACPI', 2048)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_HD2 = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_HD2', 4096)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_UVD_HD = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_UVD_HD', 8192)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_UVD_SD = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_UVD_SD', 16384)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_USER_DC_PERFORMANCE = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_USER_DC_PERFORMANCE', 32768)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_DC_OVERDIRVER_TEMPLATE = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_DC_OVERDIRVER_TEMPLATE', 65536)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_BACO = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_BACO', 131072)
|
||||
SMU_STATE_CLASSIFICATIN_FLAG_LIMITED_POWER_SOURCE2 = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATIN_FLAG_LIMITED_POWER_SOURCE2', 262144)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_ULV = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_ULV', 524288)
|
||||
SMU_STATE_CLASSIFICATION_FLAG_UVD_MVC = enum_smu_state_classification_flag.define('SMU_STATE_CLASSIFICATION_FLAG_UVD_MVC', 1048576)
|
||||
|
||||
magic: int
|
||||
struct_smu_hw_power_state.register_fields([('magic', ctypes.c_uint32, 0)])
|
||||
class struct_smu_power_state(c.Struct): pass
|
||||
enum_smu_state_ui_label: dict[int, str] = {(SMU_STATE_UI_LABEL_NONE:=0): 'SMU_STATE_UI_LABEL_NONE', (SMU_STATE_UI_LABEL_BATTERY:=1): 'SMU_STATE_UI_LABEL_BATTERY', (SMU_STATE_UI_TABEL_MIDDLE_LOW:=2): 'SMU_STATE_UI_TABEL_MIDDLE_LOW', (SMU_STATE_UI_LABEL_BALLANCED:=3): 'SMU_STATE_UI_LABEL_BALLANCED', (SMU_STATE_UI_LABEL_MIDDLE_HIGHT:=4): 'SMU_STATE_UI_LABEL_MIDDLE_HIGHT', (SMU_STATE_UI_LABEL_PERFORMANCE:=5): 'SMU_STATE_UI_LABEL_PERFORMANCE', (SMU_STATE_UI_LABEL_BACO:=6): 'SMU_STATE_UI_LABEL_BACO'}
|
||||
enum_smu_state_classification_flag: dict[int, str] = {(SMU_STATE_CLASSIFICATION_FLAG_BOOT:=1): 'SMU_STATE_CLASSIFICATION_FLAG_BOOT', (SMU_STATE_CLASSIFICATION_FLAG_THERMAL:=2): 'SMU_STATE_CLASSIFICATION_FLAG_THERMAL', (SMU_STATE_CLASSIFICATIN_FLAG_LIMITED_POWER_SOURCE:=4): 'SMU_STATE_CLASSIFICATIN_FLAG_LIMITED_POWER_SOURCE', (SMU_STATE_CLASSIFICATION_FLAG_RESET:=8): 'SMU_STATE_CLASSIFICATION_FLAG_RESET', (SMU_STATE_CLASSIFICATION_FLAG_FORCED:=16): 'SMU_STATE_CLASSIFICATION_FLAG_FORCED', (SMU_STATE_CLASSIFICATION_FLAG_USER_3D_PERFORMANCE:=32): 'SMU_STATE_CLASSIFICATION_FLAG_USER_3D_PERFORMANCE', (SMU_STATE_CLASSIFICATION_FLAG_USER_2D_PERFORMANCE:=64): 'SMU_STATE_CLASSIFICATION_FLAG_USER_2D_PERFORMANCE', (SMU_STATE_CLASSIFICATION_FLAG_3D_PERFORMANCE:=128): 'SMU_STATE_CLASSIFICATION_FLAG_3D_PERFORMANCE', (SMU_STATE_CLASSIFICATION_FLAG_AC_OVERDIRVER_TEMPLATE:=256): 'SMU_STATE_CLASSIFICATION_FLAG_AC_OVERDIRVER_TEMPLATE', (SMU_STATE_CLASSIFICATION_FLAG_UVD:=512): 'SMU_STATE_CLASSIFICATION_FLAG_UVD', (SMU_STATE_CLASSIFICATION_FLAG_3D_PERFORMANCE_LOW:=1024): 'SMU_STATE_CLASSIFICATION_FLAG_3D_PERFORMANCE_LOW', (SMU_STATE_CLASSIFICATION_FLAG_ACPI:=2048): 'SMU_STATE_CLASSIFICATION_FLAG_ACPI', (SMU_STATE_CLASSIFICATION_FLAG_HD2:=4096): 'SMU_STATE_CLASSIFICATION_FLAG_HD2', (SMU_STATE_CLASSIFICATION_FLAG_UVD_HD:=8192): 'SMU_STATE_CLASSIFICATION_FLAG_UVD_HD', (SMU_STATE_CLASSIFICATION_FLAG_UVD_SD:=16384): 'SMU_STATE_CLASSIFICATION_FLAG_UVD_SD', (SMU_STATE_CLASSIFICATION_FLAG_USER_DC_PERFORMANCE:=32768): 'SMU_STATE_CLASSIFICATION_FLAG_USER_DC_PERFORMANCE', (SMU_STATE_CLASSIFICATION_FLAG_DC_OVERDIRVER_TEMPLATE:=65536): 'SMU_STATE_CLASSIFICATION_FLAG_DC_OVERDIRVER_TEMPLATE', (SMU_STATE_CLASSIFICATION_FLAG_BACO:=131072): 'SMU_STATE_CLASSIFICATION_FLAG_BACO', (SMU_STATE_CLASSIFICATIN_FLAG_LIMITED_POWER_SOURCE2:=262144): 'SMU_STATE_CLASSIFICATIN_FLAG_LIMITED_POWER_SOURCE2', (SMU_STATE_CLASSIFICATION_FLAG_ULV:=524288): 'SMU_STATE_CLASSIFICATION_FLAG_ULV', (SMU_STATE_CLASSIFICATION_FLAG_UVD_MVC:=1048576): 'SMU_STATE_CLASSIFICATION_FLAG_UVD_MVC'}
|
||||
@c.record
|
||||
class struct_smu_state_classification_block(c.Struct):
|
||||
SIZE = 16
|
||||
ui_label: Annotated[enum_smu_state_ui_label, 0]
|
||||
flags: Annotated[enum_smu_state_classification_flag, 4]
|
||||
bios_index: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
temporary_state: Annotated[Annotated[bool, ctypes.c_bool], 12]
|
||||
to_be_deleted: Annotated[Annotated[bool, ctypes.c_bool], 13]
|
||||
ui_label: int
|
||||
flags: int
|
||||
bios_index: int
|
||||
temporary_state: bool
|
||||
to_be_deleted: bool
|
||||
struct_smu_state_classification_block.register_fields([('ui_label', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('bios_index', ctypes.c_int32, 8), ('temporary_state', ctypes.c_bool, 12), ('to_be_deleted', ctypes.c_bool, 13)])
|
||||
@c.record
|
||||
class struct_smu_state_pcie_block(c.Struct):
|
||||
SIZE = 4
|
||||
lanes: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
class enum_smu_refreshrate_source(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SMU_REFRESHRATE_SOURCE_EDID = enum_smu_refreshrate_source.define('SMU_REFRESHRATE_SOURCE_EDID', 0)
|
||||
SMU_REFRESHRATE_SOURCE_EXPLICIT = enum_smu_refreshrate_source.define('SMU_REFRESHRATE_SOURCE_EXPLICIT', 1)
|
||||
|
||||
lanes: int
|
||||
struct_smu_state_pcie_block.register_fields([('lanes', ctypes.c_uint32, 0)])
|
||||
enum_smu_refreshrate_source: dict[int, str] = {(SMU_REFRESHRATE_SOURCE_EDID:=0): 'SMU_REFRESHRATE_SOURCE_EDID', (SMU_REFRESHRATE_SOURCE_EXPLICIT:=1): 'SMU_REFRESHRATE_SOURCE_EXPLICIT'}
|
||||
@c.record
|
||||
class struct_smu_state_display_block(c.Struct):
|
||||
SIZE = 20
|
||||
disable_frame_modulation: Annotated[Annotated[bool, ctypes.c_bool], 0]
|
||||
limit_refreshrate: Annotated[Annotated[bool, ctypes.c_bool], 1]
|
||||
refreshrate_source: Annotated[enum_smu_refreshrate_source, 4]
|
||||
explicit_refreshrate: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
edid_refreshrate_index: Annotated[Annotated[int, ctypes.c_int32], 12]
|
||||
enable_vari_bright: Annotated[Annotated[bool, ctypes.c_bool], 16]
|
||||
disable_frame_modulation: bool
|
||||
limit_refreshrate: bool
|
||||
refreshrate_source: int
|
||||
explicit_refreshrate: int
|
||||
edid_refreshrate_index: int
|
||||
enable_vari_bright: bool
|
||||
struct_smu_state_display_block.register_fields([('disable_frame_modulation', ctypes.c_bool, 0), ('limit_refreshrate', ctypes.c_bool, 1), ('refreshrate_source', ctypes.c_uint32, 4), ('explicit_refreshrate', ctypes.c_int32, 8), ('edid_refreshrate_index', ctypes.c_int32, 12), ('enable_vari_bright', ctypes.c_bool, 16)])
|
||||
@c.record
|
||||
class struct_smu_state_memory_block(c.Struct):
|
||||
SIZE = 5
|
||||
dll_off: Annotated[Annotated[bool, ctypes.c_bool], 0]
|
||||
m3arb: Annotated[Annotated[int, ctypes.c_ubyte], 1]
|
||||
unused: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[3]], 2]
|
||||
dll_off: bool
|
||||
m3arb: int
|
||||
unused: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
struct_smu_state_memory_block.register_fields([('dll_off', ctypes.c_bool, 0), ('m3arb', ctypes.c_ubyte, 1), ('unused', c.Array[ctypes.c_ubyte, Literal[3]], 2)])
|
||||
@c.record
|
||||
class struct_smu_state_software_algorithm_block(c.Struct):
|
||||
SIZE = 2
|
||||
disable_load_balancing: Annotated[Annotated[bool, ctypes.c_bool], 0]
|
||||
enable_sleep_for_timestamps: Annotated[Annotated[bool, ctypes.c_bool], 1]
|
||||
disable_load_balancing: bool
|
||||
enable_sleep_for_timestamps: bool
|
||||
struct_smu_state_software_algorithm_block.register_fields([('disable_load_balancing', ctypes.c_bool, 0), ('enable_sleep_for_timestamps', ctypes.c_bool, 1)])
|
||||
@c.record
|
||||
class struct_smu_temperature_range(c.Struct):
|
||||
SIZE = 44
|
||||
min: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
max: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
edge_emergency_max: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
hotspot_min: Annotated[Annotated[int, ctypes.c_int32], 12]
|
||||
hotspot_crit_max: Annotated[Annotated[int, ctypes.c_int32], 16]
|
||||
hotspot_emergency_max: Annotated[Annotated[int, ctypes.c_int32], 20]
|
||||
mem_min: Annotated[Annotated[int, ctypes.c_int32], 24]
|
||||
mem_crit_max: Annotated[Annotated[int, ctypes.c_int32], 28]
|
||||
mem_emergency_max: Annotated[Annotated[int, ctypes.c_int32], 32]
|
||||
software_shutdown_temp: Annotated[Annotated[int, ctypes.c_int32], 36]
|
||||
software_shutdown_temp_offset: Annotated[Annotated[int, ctypes.c_int32], 40]
|
||||
min: int
|
||||
max: int
|
||||
edge_emergency_max: int
|
||||
hotspot_min: int
|
||||
hotspot_crit_max: int
|
||||
hotspot_emergency_max: int
|
||||
mem_min: int
|
||||
mem_crit_max: int
|
||||
mem_emergency_max: int
|
||||
software_shutdown_temp: int
|
||||
software_shutdown_temp_offset: int
|
||||
struct_smu_temperature_range.register_fields([('min', ctypes.c_int32, 0), ('max', ctypes.c_int32, 4), ('edge_emergency_max', ctypes.c_int32, 8), ('hotspot_min', ctypes.c_int32, 12), ('hotspot_crit_max', ctypes.c_int32, 16), ('hotspot_emergency_max', ctypes.c_int32, 20), ('mem_min', ctypes.c_int32, 24), ('mem_crit_max', ctypes.c_int32, 28), ('mem_emergency_max', ctypes.c_int32, 32), ('software_shutdown_temp', ctypes.c_int32, 36), ('software_shutdown_temp_offset', ctypes.c_int32, 40)])
|
||||
@c.record
|
||||
class struct_smu_state_validation_block(c.Struct):
|
||||
SIZE = 3
|
||||
single_display_only: Annotated[Annotated[bool, ctypes.c_bool], 0]
|
||||
disallow_on_dc: Annotated[Annotated[bool, ctypes.c_bool], 1]
|
||||
supported_power_levels: Annotated[Annotated[int, ctypes.c_ubyte], 2]
|
||||
single_display_only: bool
|
||||
disallow_on_dc: bool
|
||||
supported_power_levels: int
|
||||
struct_smu_state_validation_block.register_fields([('single_display_only', ctypes.c_bool, 0), ('disallow_on_dc', ctypes.c_bool, 1), ('supported_power_levels', ctypes.c_ubyte, 2)])
|
||||
@c.record
|
||||
class struct_smu_uvd_clocks(c.Struct):
|
||||
SIZE = 8
|
||||
vclk: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dclk: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
class enum_smu_power_src_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SMU_POWER_SOURCE_AC = enum_smu_power_src_type.define('SMU_POWER_SOURCE_AC', 0)
|
||||
SMU_POWER_SOURCE_DC = enum_smu_power_src_type.define('SMU_POWER_SOURCE_DC', 1)
|
||||
SMU_POWER_SOURCE_COUNT = enum_smu_power_src_type.define('SMU_POWER_SOURCE_COUNT', 2)
|
||||
|
||||
class enum_smu_ppt_limit_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SMU_DEFAULT_PPT_LIMIT = enum_smu_ppt_limit_type.define('SMU_DEFAULT_PPT_LIMIT', 0)
|
||||
SMU_FAST_PPT_LIMIT = enum_smu_ppt_limit_type.define('SMU_FAST_PPT_LIMIT', 1)
|
||||
|
||||
class enum_smu_ppt_limit_level(Annotated[int, ctypes.c_int32], c.Enum): pass
|
||||
SMU_PPT_LIMIT_MIN = enum_smu_ppt_limit_level.define('SMU_PPT_LIMIT_MIN', -1)
|
||||
SMU_PPT_LIMIT_CURRENT = enum_smu_ppt_limit_level.define('SMU_PPT_LIMIT_CURRENT', 0)
|
||||
SMU_PPT_LIMIT_DEFAULT = enum_smu_ppt_limit_level.define('SMU_PPT_LIMIT_DEFAULT', 1)
|
||||
SMU_PPT_LIMIT_MAX = enum_smu_ppt_limit_level.define('SMU_PPT_LIMIT_MAX', 2)
|
||||
|
||||
class enum_smu_memory_pool_size(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SMU_MEMORY_POOL_SIZE_ZERO = enum_smu_memory_pool_size.define('SMU_MEMORY_POOL_SIZE_ZERO', 0)
|
||||
SMU_MEMORY_POOL_SIZE_256_MB = enum_smu_memory_pool_size.define('SMU_MEMORY_POOL_SIZE_256_MB', 268435456)
|
||||
SMU_MEMORY_POOL_SIZE_512_MB = enum_smu_memory_pool_size.define('SMU_MEMORY_POOL_SIZE_512_MB', 536870912)
|
||||
SMU_MEMORY_POOL_SIZE_1_GB = enum_smu_memory_pool_size.define('SMU_MEMORY_POOL_SIZE_1_GB', 1073741824)
|
||||
SMU_MEMORY_POOL_SIZE_2_GB = enum_smu_memory_pool_size.define('SMU_MEMORY_POOL_SIZE_2_GB', 2147483648)
|
||||
|
||||
class enum_smu_clk_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SMU_GFXCLK = enum_smu_clk_type.define('SMU_GFXCLK', 0)
|
||||
SMU_VCLK = enum_smu_clk_type.define('SMU_VCLK', 1)
|
||||
SMU_DCLK = enum_smu_clk_type.define('SMU_DCLK', 2)
|
||||
SMU_VCLK1 = enum_smu_clk_type.define('SMU_VCLK1', 3)
|
||||
SMU_DCLK1 = enum_smu_clk_type.define('SMU_DCLK1', 4)
|
||||
SMU_ECLK = enum_smu_clk_type.define('SMU_ECLK', 5)
|
||||
SMU_SOCCLK = enum_smu_clk_type.define('SMU_SOCCLK', 6)
|
||||
SMU_UCLK = enum_smu_clk_type.define('SMU_UCLK', 7)
|
||||
SMU_DCEFCLK = enum_smu_clk_type.define('SMU_DCEFCLK', 8)
|
||||
SMU_DISPCLK = enum_smu_clk_type.define('SMU_DISPCLK', 9)
|
||||
SMU_PIXCLK = enum_smu_clk_type.define('SMU_PIXCLK', 10)
|
||||
SMU_PHYCLK = enum_smu_clk_type.define('SMU_PHYCLK', 11)
|
||||
SMU_FCLK = enum_smu_clk_type.define('SMU_FCLK', 12)
|
||||
SMU_SCLK = enum_smu_clk_type.define('SMU_SCLK', 13)
|
||||
SMU_MCLK = enum_smu_clk_type.define('SMU_MCLK', 14)
|
||||
SMU_PCIE = enum_smu_clk_type.define('SMU_PCIE', 15)
|
||||
SMU_LCLK = enum_smu_clk_type.define('SMU_LCLK', 16)
|
||||
SMU_OD_CCLK = enum_smu_clk_type.define('SMU_OD_CCLK', 17)
|
||||
SMU_OD_SCLK = enum_smu_clk_type.define('SMU_OD_SCLK', 18)
|
||||
SMU_OD_MCLK = enum_smu_clk_type.define('SMU_OD_MCLK', 19)
|
||||
SMU_OD_VDDC_CURVE = enum_smu_clk_type.define('SMU_OD_VDDC_CURVE', 20)
|
||||
SMU_OD_RANGE = enum_smu_clk_type.define('SMU_OD_RANGE', 21)
|
||||
SMU_OD_VDDGFX_OFFSET = enum_smu_clk_type.define('SMU_OD_VDDGFX_OFFSET', 22)
|
||||
SMU_OD_FAN_CURVE = enum_smu_clk_type.define('SMU_OD_FAN_CURVE', 23)
|
||||
SMU_OD_ACOUSTIC_LIMIT = enum_smu_clk_type.define('SMU_OD_ACOUSTIC_LIMIT', 24)
|
||||
SMU_OD_ACOUSTIC_TARGET = enum_smu_clk_type.define('SMU_OD_ACOUSTIC_TARGET', 25)
|
||||
SMU_OD_FAN_TARGET_TEMPERATURE = enum_smu_clk_type.define('SMU_OD_FAN_TARGET_TEMPERATURE', 26)
|
||||
SMU_OD_FAN_MINIMUM_PWM = enum_smu_clk_type.define('SMU_OD_FAN_MINIMUM_PWM', 27)
|
||||
SMU_CLK_COUNT = enum_smu_clk_type.define('SMU_CLK_COUNT', 28)
|
||||
|
||||
vclk: int
|
||||
dclk: int
|
||||
struct_smu_uvd_clocks.register_fields([('vclk', ctypes.c_uint32, 0), ('dclk', ctypes.c_uint32, 4)])
|
||||
enum_smu_power_src_type: dict[int, str] = {(SMU_POWER_SOURCE_AC:=0): 'SMU_POWER_SOURCE_AC', (SMU_POWER_SOURCE_DC:=1): 'SMU_POWER_SOURCE_DC', (SMU_POWER_SOURCE_COUNT:=2): 'SMU_POWER_SOURCE_COUNT'}
|
||||
enum_smu_ppt_limit_type: dict[int, str] = {(SMU_DEFAULT_PPT_LIMIT:=0): 'SMU_DEFAULT_PPT_LIMIT', (SMU_FAST_PPT_LIMIT:=1): 'SMU_FAST_PPT_LIMIT'}
|
||||
enum_smu_ppt_limit_level: dict[int, str] = {(SMU_PPT_LIMIT_MIN:=-1): 'SMU_PPT_LIMIT_MIN', (SMU_PPT_LIMIT_CURRENT:=0): 'SMU_PPT_LIMIT_CURRENT', (SMU_PPT_LIMIT_DEFAULT:=1): 'SMU_PPT_LIMIT_DEFAULT', (SMU_PPT_LIMIT_MAX:=2): 'SMU_PPT_LIMIT_MAX'}
|
||||
enum_smu_memory_pool_size: dict[int, str] = {(SMU_MEMORY_POOL_SIZE_ZERO:=0): 'SMU_MEMORY_POOL_SIZE_ZERO', (SMU_MEMORY_POOL_SIZE_256_MB:=268435456): 'SMU_MEMORY_POOL_SIZE_256_MB', (SMU_MEMORY_POOL_SIZE_512_MB:=536870912): 'SMU_MEMORY_POOL_SIZE_512_MB', (SMU_MEMORY_POOL_SIZE_1_GB:=1073741824): 'SMU_MEMORY_POOL_SIZE_1_GB', (SMU_MEMORY_POOL_SIZE_2_GB:=2147483648): 'SMU_MEMORY_POOL_SIZE_2_GB'}
|
||||
enum_smu_clk_type: dict[int, str] = {(SMU_GFXCLK:=0): 'SMU_GFXCLK', (SMU_VCLK:=1): 'SMU_VCLK', (SMU_DCLK:=2): 'SMU_DCLK', (SMU_VCLK1:=3): 'SMU_VCLK1', (SMU_DCLK1:=4): 'SMU_DCLK1', (SMU_ECLK:=5): 'SMU_ECLK', (SMU_SOCCLK:=6): 'SMU_SOCCLK', (SMU_UCLK:=7): 'SMU_UCLK', (SMU_DCEFCLK:=8): 'SMU_DCEFCLK', (SMU_DISPCLK:=9): 'SMU_DISPCLK', (SMU_PIXCLK:=10): 'SMU_PIXCLK', (SMU_PHYCLK:=11): 'SMU_PHYCLK', (SMU_FCLK:=12): 'SMU_FCLK', (SMU_SCLK:=13): 'SMU_SCLK', (SMU_MCLK:=14): 'SMU_MCLK', (SMU_PCIE:=15): 'SMU_PCIE', (SMU_LCLK:=16): 'SMU_LCLK', (SMU_OD_CCLK:=17): 'SMU_OD_CCLK', (SMU_OD_SCLK:=18): 'SMU_OD_SCLK', (SMU_OD_MCLK:=19): 'SMU_OD_MCLK', (SMU_OD_VDDC_CURVE:=20): 'SMU_OD_VDDC_CURVE', (SMU_OD_RANGE:=21): 'SMU_OD_RANGE', (SMU_OD_VDDGFX_OFFSET:=22): 'SMU_OD_VDDGFX_OFFSET', (SMU_OD_FAN_CURVE:=23): 'SMU_OD_FAN_CURVE', (SMU_OD_ACOUSTIC_LIMIT:=24): 'SMU_OD_ACOUSTIC_LIMIT', (SMU_OD_ACOUSTIC_TARGET:=25): 'SMU_OD_ACOUSTIC_TARGET', (SMU_OD_FAN_TARGET_TEMPERATURE:=26): 'SMU_OD_FAN_TARGET_TEMPERATURE', (SMU_OD_FAN_MINIMUM_PWM:=27): 'SMU_OD_FAN_MINIMUM_PWM', (SMU_CLK_COUNT:=28): 'SMU_CLK_COUNT'}
|
||||
@c.record
|
||||
class struct_smu_user_dpm_profile(c.Struct):
|
||||
SIZE = 140
|
||||
fan_mode: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
power_limit: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
fan_speed_pwm: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
fan_speed_rpm: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
user_od: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
clk_mask: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[28]], 24]
|
||||
clk_dependency: Annotated[Annotated[int, ctypes.c_uint32], 136]
|
||||
fan_mode: int
|
||||
power_limit: int
|
||||
fan_speed_pwm: int
|
||||
fan_speed_rpm: int
|
||||
flags: int
|
||||
user_od: int
|
||||
clk_mask: c.Array[ctypes.c_uint32, Literal[28]]
|
||||
clk_dependency: int
|
||||
struct_smu_user_dpm_profile.register_fields([('fan_mode', ctypes.c_uint32, 0), ('power_limit', ctypes.c_uint32, 4), ('fan_speed_pwm', ctypes.c_uint32, 8), ('fan_speed_rpm', ctypes.c_uint32, 12), ('flags', ctypes.c_uint32, 16), ('user_od', ctypes.c_uint32, 20), ('clk_mask', c.Array[ctypes.c_uint32, Literal[28]], 24), ('clk_dependency', ctypes.c_uint32, 136)])
|
||||
@c.record
|
||||
class struct_smu_table(c.Struct):
|
||||
SIZE = 48
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
align: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
domain: Annotated[Annotated[int, ctypes.c_ubyte], 12]
|
||||
mc_address: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
cpu_addr: Annotated[ctypes.c_void_p, 24]
|
||||
bo: Annotated[c.POINTER[struct_amdgpu_bo], 32]
|
||||
version: Annotated[Annotated[int, ctypes.c_uint32], 40]
|
||||
class struct_amdgpu_bo(c.Struct): SIZE = 0
|
||||
class enum_smu_perf_level_designation(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
PERF_LEVEL_ACTIVITY = enum_smu_perf_level_designation.define('PERF_LEVEL_ACTIVITY', 0)
|
||||
PERF_LEVEL_POWER_CONTAINMENT = enum_smu_perf_level_designation.define('PERF_LEVEL_POWER_CONTAINMENT', 1)
|
||||
|
||||
size: int
|
||||
align: int
|
||||
domain: int
|
||||
mc_address: int
|
||||
cpu_addr: ctypes.c_void_p
|
||||
bo: c.POINTER[struct_amdgpu_bo]
|
||||
version: int
|
||||
class struct_amdgpu_bo(c.Struct): pass
|
||||
struct_smu_table.register_fields([('size', ctypes.c_uint64, 0), ('align', ctypes.c_uint32, 8), ('domain', ctypes.c_ubyte, 12), ('mc_address', ctypes.c_uint64, 16), ('cpu_addr', ctypes.c_void_p, 24), ('bo', c.POINTER[struct_amdgpu_bo], 32), ('version', ctypes.c_uint32, 40)])
|
||||
enum_smu_perf_level_designation: dict[int, str] = {(PERF_LEVEL_ACTIVITY:=0): 'PERF_LEVEL_ACTIVITY', (PERF_LEVEL_POWER_CONTAINMENT:=1): 'PERF_LEVEL_POWER_CONTAINMENT'}
|
||||
@c.record
|
||||
class struct_smu_performance_level(c.Struct):
|
||||
SIZE = 24
|
||||
core_clock: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
memory_clock: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
vddc: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
vddci: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
non_local_mem_freq: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
non_local_mem_width: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
core_clock: int
|
||||
memory_clock: int
|
||||
vddc: int
|
||||
vddci: int
|
||||
non_local_mem_freq: int
|
||||
non_local_mem_width: int
|
||||
struct_smu_performance_level.register_fields([('core_clock', ctypes.c_uint32, 0), ('memory_clock', ctypes.c_uint32, 4), ('vddc', ctypes.c_uint32, 8), ('vddci', ctypes.c_uint32, 12), ('non_local_mem_freq', ctypes.c_uint32, 16), ('non_local_mem_width', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_smu_clock_info(c.Struct):
|
||||
SIZE = 24
|
||||
min_mem_clk: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
max_mem_clk: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
min_eng_clk: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
max_eng_clk: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
min_bus_bandwidth: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
max_bus_bandwidth: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
min_mem_clk: int
|
||||
max_mem_clk: int
|
||||
min_eng_clk: int
|
||||
max_eng_clk: int
|
||||
min_bus_bandwidth: int
|
||||
max_bus_bandwidth: int
|
||||
struct_smu_clock_info.register_fields([('min_mem_clk', ctypes.c_uint32, 0), ('max_mem_clk', ctypes.c_uint32, 4), ('min_eng_clk', ctypes.c_uint32, 8), ('max_eng_clk', ctypes.c_uint32, 12), ('min_bus_bandwidth', ctypes.c_uint32, 16), ('max_bus_bandwidth', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_smu_bios_boot_up_values(c.Struct):
|
||||
SIZE = 68
|
||||
revision: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
gfxclk: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
uclk: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
socclk: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
dcefclk: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
eclk: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
vclk: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
dclk: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
vddc: Annotated[Annotated[int, ctypes.c_uint16], 32]
|
||||
vddci: Annotated[Annotated[int, ctypes.c_uint16], 34]
|
||||
mvddc: Annotated[Annotated[int, ctypes.c_uint16], 36]
|
||||
vdd_gfx: Annotated[Annotated[int, ctypes.c_uint16], 38]
|
||||
cooling_id: Annotated[Annotated[int, ctypes.c_ubyte], 40]
|
||||
pp_table_id: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
||||
format_revision: Annotated[Annotated[int, ctypes.c_uint32], 48]
|
||||
content_revision: Annotated[Annotated[int, ctypes.c_uint32], 52]
|
||||
fclk: Annotated[Annotated[int, ctypes.c_uint32], 56]
|
||||
lclk: Annotated[Annotated[int, ctypes.c_uint32], 60]
|
||||
firmware_caps: Annotated[Annotated[int, ctypes.c_uint32], 64]
|
||||
class enum_smu_table_id(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SMU_TABLE_PPTABLE = enum_smu_table_id.define('SMU_TABLE_PPTABLE', 0)
|
||||
SMU_TABLE_WATERMARKS = enum_smu_table_id.define('SMU_TABLE_WATERMARKS', 1)
|
||||
SMU_TABLE_CUSTOM_DPM = enum_smu_table_id.define('SMU_TABLE_CUSTOM_DPM', 2)
|
||||
SMU_TABLE_DPMCLOCKS = enum_smu_table_id.define('SMU_TABLE_DPMCLOCKS', 3)
|
||||
SMU_TABLE_AVFS = enum_smu_table_id.define('SMU_TABLE_AVFS', 4)
|
||||
SMU_TABLE_AVFS_PSM_DEBUG = enum_smu_table_id.define('SMU_TABLE_AVFS_PSM_DEBUG', 5)
|
||||
SMU_TABLE_AVFS_FUSE_OVERRIDE = enum_smu_table_id.define('SMU_TABLE_AVFS_FUSE_OVERRIDE', 6)
|
||||
SMU_TABLE_PMSTATUSLOG = enum_smu_table_id.define('SMU_TABLE_PMSTATUSLOG', 7)
|
||||
SMU_TABLE_SMU_METRICS = enum_smu_table_id.define('SMU_TABLE_SMU_METRICS', 8)
|
||||
SMU_TABLE_DRIVER_SMU_CONFIG = enum_smu_table_id.define('SMU_TABLE_DRIVER_SMU_CONFIG', 9)
|
||||
SMU_TABLE_ACTIVITY_MONITOR_COEFF = enum_smu_table_id.define('SMU_TABLE_ACTIVITY_MONITOR_COEFF', 10)
|
||||
SMU_TABLE_OVERDRIVE = enum_smu_table_id.define('SMU_TABLE_OVERDRIVE', 11)
|
||||
SMU_TABLE_I2C_COMMANDS = enum_smu_table_id.define('SMU_TABLE_I2C_COMMANDS', 12)
|
||||
SMU_TABLE_PACE = enum_smu_table_id.define('SMU_TABLE_PACE', 13)
|
||||
SMU_TABLE_ECCINFO = enum_smu_table_id.define('SMU_TABLE_ECCINFO', 14)
|
||||
SMU_TABLE_COMBO_PPTABLE = enum_smu_table_id.define('SMU_TABLE_COMBO_PPTABLE', 15)
|
||||
SMU_TABLE_WIFIBAND = enum_smu_table_id.define('SMU_TABLE_WIFIBAND', 16)
|
||||
SMU_TABLE_COUNT = enum_smu_table_id.define('SMU_TABLE_COUNT', 17)
|
||||
|
||||
c.init_records()
|
||||
revision: int
|
||||
gfxclk: int
|
||||
uclk: int
|
||||
socclk: int
|
||||
dcefclk: int
|
||||
eclk: int
|
||||
vclk: int
|
||||
dclk: int
|
||||
vddc: int
|
||||
vddci: int
|
||||
mvddc: int
|
||||
vdd_gfx: int
|
||||
cooling_id: int
|
||||
pp_table_id: int
|
||||
format_revision: int
|
||||
content_revision: int
|
||||
fclk: int
|
||||
lclk: int
|
||||
firmware_caps: int
|
||||
struct_smu_bios_boot_up_values.register_fields([('revision', ctypes.c_uint32, 0), ('gfxclk', ctypes.c_uint32, 4), ('uclk', ctypes.c_uint32, 8), ('socclk', ctypes.c_uint32, 12), ('dcefclk', ctypes.c_uint32, 16), ('eclk', ctypes.c_uint32, 20), ('vclk', ctypes.c_uint32, 24), ('dclk', ctypes.c_uint32, 28), ('vddc', ctypes.c_uint16, 32), ('vddci', ctypes.c_uint16, 34), ('mvddc', ctypes.c_uint16, 36), ('vdd_gfx', ctypes.c_uint16, 38), ('cooling_id', ctypes.c_ubyte, 40), ('pp_table_id', ctypes.c_uint32, 44), ('format_revision', ctypes.c_uint32, 48), ('content_revision', ctypes.c_uint32, 52), ('fclk', ctypes.c_uint32, 56), ('lclk', ctypes.c_uint32, 60), ('firmware_caps', ctypes.c_uint32, 64)])
|
||||
enum_smu_table_id: dict[int, str] = {(SMU_TABLE_PPTABLE:=0): 'SMU_TABLE_PPTABLE', (SMU_TABLE_WATERMARKS:=1): 'SMU_TABLE_WATERMARKS', (SMU_TABLE_CUSTOM_DPM:=2): 'SMU_TABLE_CUSTOM_DPM', (SMU_TABLE_DPMCLOCKS:=3): 'SMU_TABLE_DPMCLOCKS', (SMU_TABLE_AVFS:=4): 'SMU_TABLE_AVFS', (SMU_TABLE_AVFS_PSM_DEBUG:=5): 'SMU_TABLE_AVFS_PSM_DEBUG', (SMU_TABLE_AVFS_FUSE_OVERRIDE:=6): 'SMU_TABLE_AVFS_FUSE_OVERRIDE', (SMU_TABLE_PMSTATUSLOG:=7): 'SMU_TABLE_PMSTATUSLOG', (SMU_TABLE_SMU_METRICS:=8): 'SMU_TABLE_SMU_METRICS', (SMU_TABLE_DRIVER_SMU_CONFIG:=9): 'SMU_TABLE_DRIVER_SMU_CONFIG', (SMU_TABLE_ACTIVITY_MONITOR_COEFF:=10): 'SMU_TABLE_ACTIVITY_MONITOR_COEFF', (SMU_TABLE_OVERDRIVE:=11): 'SMU_TABLE_OVERDRIVE', (SMU_TABLE_I2C_COMMANDS:=12): 'SMU_TABLE_I2C_COMMANDS', (SMU_TABLE_PACE:=13): 'SMU_TABLE_PACE', (SMU_TABLE_ECCINFO:=14): 'SMU_TABLE_ECCINFO', (SMU_TABLE_COMBO_PPTABLE:=15): 'SMU_TABLE_COMBO_PPTABLE', (SMU_TABLE_WIFIBAND:=16): 'SMU_TABLE_WIFIBAND', (SMU_TABLE_COUNT:=17): 'SMU_TABLE_COUNT'}
|
||||
PPSMC_Result_OK = 0x1 # type: ignore
|
||||
PPSMC_Result_Failed = 0xFF # type: ignore
|
||||
PPSMC_Result_UnknownCmd = 0xFE # type: ignore
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -1,461 +1,525 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG(c.Struct):
|
||||
SIZE = 28
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION, 0]
|
||||
COUNT_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION, 4]
|
||||
PARAMETER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION, 8]
|
||||
SRC_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION, 12]
|
||||
SRC_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION, 16]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION, 20]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION, 24]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION
|
||||
COUNT_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION
|
||||
PARAMETER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION
|
||||
SRC_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION
|
||||
SRC_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
extra_info: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
extra_info: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('extra_info', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 0, 22, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 6]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
count: int
|
||||
reserved_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION.register_fields([('count', ctypes.c_uint32, 0, 22, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 6), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
dst_swap: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 2, 6, 2]
|
||||
src_swap: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
reserved_0: int
|
||||
dst_swap: int
|
||||
reserved_1: int
|
||||
src_swap: int
|
||||
reserved_2: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION.register_fields([('reserved_0', ctypes.c_uint32, 0, 16, 0), ('dst_swap', ctypes.c_uint32, 2, 2, 0), ('reserved_1', ctypes.c_uint32, 2, 6, 2), ('src_swap', ctypes.c_uint32, 3, 2, 0), ('reserved_2', ctypes.c_uint32, 3, 6, 2), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION.register_fields([('src_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_63_32: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION.register_fields([('src_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION, 0), ('COUNT_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION, 4), ('PARAMETER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION, 8), ('SRC_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION, 12), ('SRC_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION, 16), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION, 20), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION, 24)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR: TypeAlias = rocr_AMD_SDMA_PKT_COPY_LINEAR_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG(c.Struct):
|
||||
SIZE = 52
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION, 0]
|
||||
SRC_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION, 4]
|
||||
SRC_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION, 8]
|
||||
SRC_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION, 12]
|
||||
SRC_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION, 16]
|
||||
SRC_PARAMETER_3_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION, 20]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION, 24]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION, 28]
|
||||
DST_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION, 32]
|
||||
DST_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION, 36]
|
||||
DST_PARAMETER_3_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION, 40]
|
||||
RECT_PARAMETER_1_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION, 44]
|
||||
RECT_PARAMETER_2_UNION: Annotated[rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION, 48]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION
|
||||
SRC_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION
|
||||
SRC_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION
|
||||
SRC_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION
|
||||
SRC_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION
|
||||
SRC_PARAMETER_3_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION
|
||||
DST_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION
|
||||
DST_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION
|
||||
DST_PARAMETER_3_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION
|
||||
RECT_PARAMETER_1_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION
|
||||
RECT_PARAMETER_2_UNION: rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 2, 13, 0]
|
||||
element: Annotated[Annotated[int, ctypes.c_uint32], 3, 3, 5]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved: int
|
||||
element: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved', ctypes.c_uint32, 2, 13, 0), ('element', ctypes.c_uint32, 3, 3, 5), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION.register_fields([('src_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION.register_fields([('src_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_offset_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
src_offset_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_offset_x: int
|
||||
reserved_1: int
|
||||
src_offset_y: int
|
||||
reserved_2: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION.register_fields([('src_offset_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('src_offset_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_offset_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 3]
|
||||
src_pitch: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_offset_z: int
|
||||
reserved_1: int
|
||||
src_pitch: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION.register_fields([('src_offset_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 3), ('src_pitch', ctypes.c_uint32, 1, 19, 5), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_slice_pitch: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_slice_pitch: int
|
||||
reserved_1: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION.register_fields([('src_slice_pitch', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_7_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_7_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_7_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_offset_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
dst_offset_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_8_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_offset_x: int
|
||||
reserved_1: int
|
||||
dst_offset_y: int
|
||||
reserved_2: int
|
||||
DW_8_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION.register_fields([('dst_offset_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('dst_offset_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_8_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_offset_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 3]
|
||||
dst_pitch: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_9_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_offset_z: int
|
||||
reserved_1: int
|
||||
dst_pitch: int
|
||||
DW_9_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION.register_fields([('dst_offset_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 3), ('dst_pitch', ctypes.c_uint32, 1, 19, 5), ('DW_9_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_slice_pitch: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_10_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_slice_pitch: int
|
||||
reserved_1: int
|
||||
DW_10_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION.register_fields([('dst_slice_pitch', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_10_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
rect_x: Annotated[Annotated[int, ctypes.c_uint32], 0, 14, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 2, 6]
|
||||
rect_y: Annotated[Annotated[int, ctypes.c_uint32], 2, 14, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_11_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
rect_x: int
|
||||
reserved_1: int
|
||||
rect_y: int
|
||||
reserved_2: int
|
||||
DW_11_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION.register_fields([('rect_x', ctypes.c_uint32, 0, 14, 0), ('reserved_1', ctypes.c_uint32, 1, 2, 6), ('rect_y', ctypes.c_uint32, 2, 14, 0), ('reserved_2', ctypes.c_uint32, 3, 2, 6), ('DW_11_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
rect_z: Annotated[Annotated[int, ctypes.c_uint32], 0, 11, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 1, 5, 3]
|
||||
dst_swap: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_2: Annotated[Annotated[int, ctypes.c_uint32], 2, 6, 2]
|
||||
src_swap: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_3: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_12_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
rect_z: int
|
||||
reserved_1: int
|
||||
dst_swap: int
|
||||
reserved_2: int
|
||||
src_swap: int
|
||||
reserved_3: int
|
||||
DW_12_DATA: int
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION.register_fields([('rect_z', ctypes.c_uint32, 0, 11, 0), ('reserved_1', ctypes.c_uint32, 1, 5, 3), ('dst_swap', ctypes.c_uint32, 2, 2, 0), ('reserved_2', ctypes.c_uint32, 2, 6, 2), ('src_swap', ctypes.c_uint32, 3, 2, 0), ('reserved_3', ctypes.c_uint32, 3, 6, 2), ('DW_12_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION, 0), ('SRC_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION, 4), ('SRC_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION, 8), ('SRC_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION, 12), ('SRC_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION, 16), ('SRC_PARAMETER_3_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION, 20), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION, 24), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION, 28), ('DST_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION, 32), ('DST_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION, 36), ('DST_PARAMETER_3_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION, 40), ('RECT_PARAMETER_1_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION, 44), ('RECT_PARAMETER_2_UNION', rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION, 48)])
|
||||
rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT: TypeAlias = rocr_AMD_SDMA_PKT_COPY_LINEAR_RECT_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG(c.Struct):
|
||||
SIZE = 20
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION, 0]
|
||||
DST_ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION, 4]
|
||||
DST_ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION, 8]
|
||||
DATA_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION, 12]
|
||||
COUNT_UNION: Annotated[rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION, 16]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION
|
||||
DST_ADDR_LO_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION
|
||||
DST_ADDR_HI_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION
|
||||
DATA_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION
|
||||
COUNT_UNION: rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
sw: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 12, 2]
|
||||
fillsize: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 6]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
sw: int
|
||||
reserved_0: int
|
||||
fillsize: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('sw', ctypes.c_uint32, 2, 2, 0), ('reserved_0', ctypes.c_uint32, 2, 12, 2), ('fillsize', ctypes.c_uint32, 3, 2, 6), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION.register_fields([('dst_addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
dst_addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
dst_addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION.register_fields([('dst_addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION.register_fields([('src_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 0, 22, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 6]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
count: int
|
||||
reserved_0: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION.register_fields([('count', ctypes.c_uint32, 0, 22, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 6), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION, 0), ('DST_ADDR_LO_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION, 4), ('DST_ADDR_HI_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION, 8), ('DATA_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION, 12), ('COUNT_UNION', rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION, 16)])
|
||||
rocr_AMD_SDMA_PKT_CONSTANT_FILL: TypeAlias = rocr_AMD_SDMA_PKT_CONSTANT_FILL_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG(c.Struct):
|
||||
SIZE = 16
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION, 8]
|
||||
DATA_UNION: Annotated[rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION, 12]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION
|
||||
DATA_UNION: rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
mtype: Annotated[Annotated[int, ctypes.c_uint32], 2, 3, 0]
|
||||
gcc: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 3]
|
||||
sys: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 4]
|
||||
pad1: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 5]
|
||||
snp: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 6]
|
||||
gpa: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 7]
|
||||
l2_policy: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 3, 6, 2]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
mtype: int
|
||||
gcc: int
|
||||
sys: int
|
||||
pad1: int
|
||||
snp: int
|
||||
gpa: int
|
||||
l2_policy: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('mtype', ctypes.c_uint32, 2, 3, 0), ('gcc', ctypes.c_uint32, 2, 1, 3), ('sys', ctypes.c_uint32, 2, 1, 4), ('pad1', ctypes.c_uint32, 2, 1, 5), ('snp', ctypes.c_uint32, 2, 1, 6), ('gpa', ctypes.c_uint32, 2, 1, 7), ('l2_policy', ctypes.c_uint32, 3, 2, 0), ('reserved_0', ctypes.c_uint32, 3, 6, 2), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
data: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
data: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION.register_fields([('data', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_FENCE_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION, 8), ('DATA_UNION', rocr_AMD_SDMA_PKT_FENCE_TAG_DATA_UNION, 12)])
|
||||
rocr_AMD_SDMA_PKT_FENCE: TypeAlias = rocr_AMD_SDMA_PKT_FENCE_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG(c.Struct):
|
||||
SIZE = 24
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION, 8]
|
||||
VALUE_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION, 12]
|
||||
MASK_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION, 16]
|
||||
DW5_UNION: Annotated[rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION, 20]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION
|
||||
VALUE_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION
|
||||
MASK_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION
|
||||
DW5_UNION: rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 10, 0]
|
||||
hdp_flush: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 2]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 3]
|
||||
func: Annotated[Annotated[int, ctypes.c_uint32], 3, 3, 4]
|
||||
mem_poll: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 7]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
hdp_flush: int
|
||||
reserved_1: int
|
||||
func: int
|
||||
mem_poll: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 10, 0), ('hdp_flush', ctypes.c_uint32, 3, 1, 2), ('reserved_1', ctypes.c_uint32, 3, 1, 3), ('func', ctypes.c_uint32, 3, 3, 4), ('mem_poll', ctypes.c_uint32, 3, 1, 7), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
value: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
value: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION.register_fields([('value', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
mask: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
mask: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION.register_fields([('mask', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
interval: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
retry_count: Annotated[Annotated[int, ctypes.c_uint32], 2, 12, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
interval: int
|
||||
retry_count: int
|
||||
reserved_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION.register_fields([('interval', ctypes.c_uint32, 0, 16, 0), ('retry_count', ctypes.c_uint32, 2, 12, 0), ('reserved_0', ctypes.c_uint32, 3, 4, 4), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION, 8), ('VALUE_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION, 12), ('MASK_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION, 16), ('DW5_UNION', rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION, 20)])
|
||||
rocr_AMD_SDMA_PKT_POLL_REGMEM: TypeAlias = rocr_AMD_SDMA_PKT_POLL_REGMEM_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG(c.Struct):
|
||||
SIZE = 32
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION, 8]
|
||||
SRC_DATA_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION, 12]
|
||||
SRC_DATA_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION, 16]
|
||||
CMP_DATA_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION, 20]
|
||||
CMP_DATA_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION, 24]
|
||||
LOOP_UNION: Annotated[rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION, 28]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION
|
||||
SRC_DATA_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION
|
||||
SRC_DATA_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION
|
||||
CMP_DATA_LO_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION
|
||||
CMP_DATA_HI_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION
|
||||
LOOP_UNION: rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
l: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 8, 1]
|
||||
operation: Annotated[Annotated[int, ctypes.c_uint32], 3, 7, 1]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
l: int
|
||||
reserved_0: int
|
||||
operation: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('l', ctypes.c_uint32, 2, 1, 0), ('reserved_0', ctypes.c_uint32, 2, 8, 1), ('operation', ctypes.c_uint32, 3, 7, 1), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_31_0: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION.register_fields([('src_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
src_data_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
src_data_63_32: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION.register_fields([('src_data_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
cmp_data_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cmp_data_31_0: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION.register_fields([('cmp_data_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_5_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
cmp_data_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_6_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cmp_data_63_32: int
|
||||
DW_6_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION.register_fields([('cmp_data_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_6_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
loop_interval: Annotated[Annotated[int, ctypes.c_uint32], 0, 13, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 1, 19, 5]
|
||||
DW_7_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
loop_interval: int
|
||||
reserved_0: int
|
||||
DW_7_DATA: int
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION.register_fields([('loop_interval', ctypes.c_uint32, 0, 13, 0), ('reserved_0', ctypes.c_uint32, 1, 19, 5), ('DW_7_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_ATOMIC_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION, 8), ('SRC_DATA_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION, 12), ('SRC_DATA_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION, 16), ('CMP_DATA_LO_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION, 20), ('CMP_DATA_HI_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION, 24), ('LOOP_UNION', rocr_AMD_SDMA_PKT_ATOMIC_TAG_LOOP_UNION, 28)])
|
||||
rocr_AMD_SDMA_PKT_ATOMIC: TypeAlias = rocr_AMD_SDMA_PKT_ATOMIC_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG(c.Struct):
|
||||
SIZE = 12
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION, 0]
|
||||
ADDR_LO_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION, 4]
|
||||
ADDR_HI_UNION: Annotated[rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION, 8]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION
|
||||
ADDR_LO_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION
|
||||
ADDR_HI_UNION: rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_31_0: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_31_0: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION.register_fields([('addr_31_0', ctypes.c_uint32, 0, 32, 0), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
addr_63_32: Annotated[Annotated[int, ctypes.c_uint32], 0, 32, 0]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
addr_63_32: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION.register_fields([('addr_63_32', ctypes.c_uint32, 0, 32, 0), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION, 0), ('ADDR_LO_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION, 4), ('ADDR_HI_UNION', rocr_AMD_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION, 8)])
|
||||
rocr_AMD_SDMA_PKT_TIMESTAMP: TypeAlias = rocr_AMD_SDMA_PKT_TIMESTAMP_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG(c.Struct):
|
||||
SIZE = 8
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION, 0]
|
||||
INT_CONTEXT_UNION: Annotated[rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION, 4]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION
|
||||
INT_CONTEXT_UNION: rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
reserved_0: Annotated[Annotated[int, ctypes.c_uint32], 2, 16, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
reserved_0: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('reserved_0', ctypes.c_uint32, 2, 16, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
int_ctx: Annotated[Annotated[int, ctypes.c_uint32], 0, 28, 0]
|
||||
reserved_1: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 4]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
int_ctx: int
|
||||
reserved_1: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION.register_fields([('int_ctx', ctypes.c_uint32, 0, 28, 0), ('reserved_1', ctypes.c_uint32, 3, 4, 4), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_TRAP_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_TRAP_TAG_HEADER_UNION, 0), ('INT_CONTEXT_UNION', rocr_AMD_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION, 4)])
|
||||
rocr_AMD_SDMA_PKT_TRAP: TypeAlias = rocr_AMD_SDMA_PKT_TRAP_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG(c.Struct):
|
||||
SIZE = 24
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
DW_5_DATA: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
DW_0_DATA: int
|
||||
DW_1_DATA: int
|
||||
DW_2_DATA: int
|
||||
DW_3_DATA: int
|
||||
DW_4_DATA: int
|
||||
DW_5_DATA: int
|
||||
rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG.register_fields([('DW_0_DATA', ctypes.c_uint32, 0), ('DW_1_DATA', ctypes.c_uint32, 4), ('DW_2_DATA', ctypes.c_uint32, 8), ('DW_3_DATA', ctypes.c_uint32, 12), ('DW_4_DATA', ctypes.c_uint32, 16), ('DW_5_DATA', ctypes.c_uint32, 20)])
|
||||
rocr_AMD_SDMA_PKT_HDP_FLUSH: TypeAlias = rocr_AMD_SDMA_PKT_HDP_FLUSH_TAG
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG(c.Struct):
|
||||
SIZE = 20
|
||||
HEADER_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION, 0]
|
||||
WORD1_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION, 4]
|
||||
WORD2_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION, 8]
|
||||
WORD3_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION, 12]
|
||||
WORD4_UNION: Annotated[rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION, 16]
|
||||
HEADER_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION
|
||||
WORD1_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION
|
||||
WORD2_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION
|
||||
WORD3_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION
|
||||
WORD4_UNION: rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
sub_op: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
DW_0_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
sub_op: int
|
||||
DW_0_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION.register_fields([('op', ctypes.c_uint32, 0, 8, 0), ('sub_op', ctypes.c_uint32, 1, 8, 0), ('DW_0_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
BaseVA_LO: Annotated[Annotated[int, ctypes.c_uint32], 0, 25, 7]
|
||||
DW_1_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
BaseVA_LO: int
|
||||
DW_1_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION.register_fields([('BaseVA_LO', ctypes.c_uint32, 0, 25, 7), ('DW_1_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
BaseVA_HI: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
GCR_CONTROL_GLI_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 0]
|
||||
GCR_CONTROL_GL1_RANGE: Annotated[Annotated[int, ctypes.c_uint32], 2, 2, 2]
|
||||
GCR_CONTROL_GLM_WB: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 4]
|
||||
GCR_CONTROL_GLM_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 5]
|
||||
GCR_CONTROL_GLK_WB: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 6]
|
||||
GCR_CONTROL_GLK_INV: Annotated[Annotated[int, ctypes.c_uint32], 2, 1, 7]
|
||||
GCR_CONTROL_GLV_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 0]
|
||||
GCR_CONTROL_GL1_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 1]
|
||||
GCR_CONTROL_GL2_US: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 2]
|
||||
GCR_CONTROL_GL2_RANGE: Annotated[Annotated[int, ctypes.c_uint32], 3, 2, 3]
|
||||
GCR_CONTROL_GL2_DISCARD: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 5]
|
||||
GCR_CONTROL_GL2_INV: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 6]
|
||||
GCR_CONTROL_GL2_WB: Annotated[Annotated[int, ctypes.c_uint32], 3, 1, 7]
|
||||
DW_2_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
BaseVA_HI: int
|
||||
GCR_CONTROL_GLI_INV: int
|
||||
GCR_CONTROL_GL1_RANGE: int
|
||||
GCR_CONTROL_GLM_WB: int
|
||||
GCR_CONTROL_GLM_INV: int
|
||||
GCR_CONTROL_GLK_WB: int
|
||||
GCR_CONTROL_GLK_INV: int
|
||||
GCR_CONTROL_GLV_INV: int
|
||||
GCR_CONTROL_GL1_INV: int
|
||||
GCR_CONTROL_GL2_US: int
|
||||
GCR_CONTROL_GL2_RANGE: int
|
||||
GCR_CONTROL_GL2_DISCARD: int
|
||||
GCR_CONTROL_GL2_INV: int
|
||||
GCR_CONTROL_GL2_WB: int
|
||||
DW_2_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION.register_fields([('BaseVA_HI', ctypes.c_uint32, 0, 16, 0), ('GCR_CONTROL_GLI_INV', ctypes.c_uint32, 2, 2, 0), ('GCR_CONTROL_GL1_RANGE', ctypes.c_uint32, 2, 2, 2), ('GCR_CONTROL_GLM_WB', ctypes.c_uint32, 2, 1, 4), ('GCR_CONTROL_GLM_INV', ctypes.c_uint32, 2, 1, 5), ('GCR_CONTROL_GLK_WB', ctypes.c_uint32, 2, 1, 6), ('GCR_CONTROL_GLK_INV', ctypes.c_uint32, 2, 1, 7), ('GCR_CONTROL_GLV_INV', ctypes.c_uint32, 3, 1, 0), ('GCR_CONTROL_GL1_INV', ctypes.c_uint32, 3, 1, 1), ('GCR_CONTROL_GL2_US', ctypes.c_uint32, 3, 1, 2), ('GCR_CONTROL_GL2_RANGE', ctypes.c_uint32, 3, 2, 3), ('GCR_CONTROL_GL2_DISCARD', ctypes.c_uint32, 3, 1, 5), ('GCR_CONTROL_GL2_INV', ctypes.c_uint32, 3, 1, 6), ('GCR_CONTROL_GL2_WB', ctypes.c_uint32, 3, 1, 7), ('DW_2_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
GCR_CONTROL_RANGE_IS_PA: Annotated[Annotated[int, ctypes.c_uint32], 0, 1, 0]
|
||||
GCR_CONTROL_SEQ: Annotated[Annotated[int, ctypes.c_uint32], 0, 2, 1]
|
||||
LimitVA_LO: Annotated[Annotated[int, ctypes.c_uint32], 0, 25, 7]
|
||||
DW_3_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
GCR_CONTROL_RANGE_IS_PA: int
|
||||
GCR_CONTROL_SEQ: int
|
||||
LimitVA_LO: int
|
||||
DW_3_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION.register_fields([('GCR_CONTROL_RANGE_IS_PA', ctypes.c_uint32, 0, 1, 0), ('GCR_CONTROL_SEQ', ctypes.c_uint32, 0, 2, 1), ('LimitVA_LO', ctypes.c_uint32, 0, 25, 7), ('DW_3_DATA', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION(c.Struct):
|
||||
SIZE = 4
|
||||
LimitVA_HI: Annotated[Annotated[int, ctypes.c_uint32], 0, 16, 0]
|
||||
VMID: Annotated[Annotated[int, ctypes.c_uint32], 3, 4, 0]
|
||||
DW_4_DATA: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
LimitVA_HI: int
|
||||
VMID: int
|
||||
DW_4_DATA: int
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION.register_fields([('LimitVA_HI', ctypes.c_uint32, 0, 16, 0), ('VMID', ctypes.c_uint32, 3, 4, 0), ('DW_4_DATA', ctypes.c_uint32, 0)])
|
||||
rocr_AMD_SDMA_PKT_GCR_TAG.register_fields([('HEADER_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_HEADER_UNION, 0), ('WORD1_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD1_UNION, 4), ('WORD2_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD2_UNION, 8), ('WORD3_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD3_UNION, 12), ('WORD4_UNION', rocr_AMD_SDMA_PKT_GCR_TAG_WORD4_UNION, 16)])
|
||||
rocr_AMD_SDMA_PKT_GCR: TypeAlias = rocr_AMD_SDMA_PKT_GCR_TAG
|
||||
@c.record
|
||||
class IP_BASE_INSTANCE(c.Struct):
|
||||
SIZE = 20
|
||||
segment: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[5]], 0]
|
||||
segment: c.Array[ctypes.c_uint32, Literal[5]]
|
||||
IP_BASE_INSTANCE.register_fields([('segment', c.Array[ctypes.c_uint32, Literal[5]], 0)])
|
||||
@c.record
|
||||
class IP_BASE(c.Struct):
|
||||
SIZE = 140
|
||||
instance: Annotated[c.Array[IP_BASE_INSTANCE, Literal[7]], 0]
|
||||
c.init_records()
|
||||
instance: c.Array[IP_BASE_INSTANCE, Literal[7]]
|
||||
IP_BASE.register_fields([('instance', c.Array[IP_BASE_INSTANCE, Literal[7]], 0)])
|
||||
SDMA_OP_COPY = 1 # type: ignore
|
||||
SDMA_OP_FENCE = 5 # type: ignore
|
||||
SDMA_OP_TRAP = 6 # type: ignore
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -1,546 +1,467 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
class enum_HEVCNALUnitType(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
HEVC_NAL_TRAIL_N = enum_HEVCNALUnitType.define('HEVC_NAL_TRAIL_N', 0)
|
||||
HEVC_NAL_TRAIL_R = enum_HEVCNALUnitType.define('HEVC_NAL_TRAIL_R', 1)
|
||||
HEVC_NAL_TSA_N = enum_HEVCNALUnitType.define('HEVC_NAL_TSA_N', 2)
|
||||
HEVC_NAL_TSA_R = enum_HEVCNALUnitType.define('HEVC_NAL_TSA_R', 3)
|
||||
HEVC_NAL_STSA_N = enum_HEVCNALUnitType.define('HEVC_NAL_STSA_N', 4)
|
||||
HEVC_NAL_STSA_R = enum_HEVCNALUnitType.define('HEVC_NAL_STSA_R', 5)
|
||||
HEVC_NAL_RADL_N = enum_HEVCNALUnitType.define('HEVC_NAL_RADL_N', 6)
|
||||
HEVC_NAL_RADL_R = enum_HEVCNALUnitType.define('HEVC_NAL_RADL_R', 7)
|
||||
HEVC_NAL_RASL_N = enum_HEVCNALUnitType.define('HEVC_NAL_RASL_N', 8)
|
||||
HEVC_NAL_RASL_R = enum_HEVCNALUnitType.define('HEVC_NAL_RASL_R', 9)
|
||||
HEVC_NAL_VCL_N10 = enum_HEVCNALUnitType.define('HEVC_NAL_VCL_N10', 10)
|
||||
HEVC_NAL_VCL_R11 = enum_HEVCNALUnitType.define('HEVC_NAL_VCL_R11', 11)
|
||||
HEVC_NAL_VCL_N12 = enum_HEVCNALUnitType.define('HEVC_NAL_VCL_N12', 12)
|
||||
HEVC_NAL_VCL_R13 = enum_HEVCNALUnitType.define('HEVC_NAL_VCL_R13', 13)
|
||||
HEVC_NAL_VCL_N14 = enum_HEVCNALUnitType.define('HEVC_NAL_VCL_N14', 14)
|
||||
HEVC_NAL_VCL_R15 = enum_HEVCNALUnitType.define('HEVC_NAL_VCL_R15', 15)
|
||||
HEVC_NAL_BLA_W_LP = enum_HEVCNALUnitType.define('HEVC_NAL_BLA_W_LP', 16)
|
||||
HEVC_NAL_BLA_W_RADL = enum_HEVCNALUnitType.define('HEVC_NAL_BLA_W_RADL', 17)
|
||||
HEVC_NAL_BLA_N_LP = enum_HEVCNALUnitType.define('HEVC_NAL_BLA_N_LP', 18)
|
||||
HEVC_NAL_IDR_W_RADL = enum_HEVCNALUnitType.define('HEVC_NAL_IDR_W_RADL', 19)
|
||||
HEVC_NAL_IDR_N_LP = enum_HEVCNALUnitType.define('HEVC_NAL_IDR_N_LP', 20)
|
||||
HEVC_NAL_CRA_NUT = enum_HEVCNALUnitType.define('HEVC_NAL_CRA_NUT', 21)
|
||||
HEVC_NAL_RSV_IRAP_VCL22 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_IRAP_VCL22', 22)
|
||||
HEVC_NAL_RSV_IRAP_VCL23 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_IRAP_VCL23', 23)
|
||||
HEVC_NAL_RSV_VCL24 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_VCL24', 24)
|
||||
HEVC_NAL_RSV_VCL25 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_VCL25', 25)
|
||||
HEVC_NAL_RSV_VCL26 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_VCL26', 26)
|
||||
HEVC_NAL_RSV_VCL27 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_VCL27', 27)
|
||||
HEVC_NAL_RSV_VCL28 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_VCL28', 28)
|
||||
HEVC_NAL_RSV_VCL29 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_VCL29', 29)
|
||||
HEVC_NAL_RSV_VCL30 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_VCL30', 30)
|
||||
HEVC_NAL_RSV_VCL31 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_VCL31', 31)
|
||||
HEVC_NAL_VPS = enum_HEVCNALUnitType.define('HEVC_NAL_VPS', 32)
|
||||
HEVC_NAL_SPS = enum_HEVCNALUnitType.define('HEVC_NAL_SPS', 33)
|
||||
HEVC_NAL_PPS = enum_HEVCNALUnitType.define('HEVC_NAL_PPS', 34)
|
||||
HEVC_NAL_AUD = enum_HEVCNALUnitType.define('HEVC_NAL_AUD', 35)
|
||||
HEVC_NAL_EOS_NUT = enum_HEVCNALUnitType.define('HEVC_NAL_EOS_NUT', 36)
|
||||
HEVC_NAL_EOB_NUT = enum_HEVCNALUnitType.define('HEVC_NAL_EOB_NUT', 37)
|
||||
HEVC_NAL_FD_NUT = enum_HEVCNALUnitType.define('HEVC_NAL_FD_NUT', 38)
|
||||
HEVC_NAL_SEI_PREFIX = enum_HEVCNALUnitType.define('HEVC_NAL_SEI_PREFIX', 39)
|
||||
HEVC_NAL_SEI_SUFFIX = enum_HEVCNALUnitType.define('HEVC_NAL_SEI_SUFFIX', 40)
|
||||
HEVC_NAL_RSV_NVCL41 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_NVCL41', 41)
|
||||
HEVC_NAL_RSV_NVCL42 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_NVCL42', 42)
|
||||
HEVC_NAL_RSV_NVCL43 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_NVCL43', 43)
|
||||
HEVC_NAL_RSV_NVCL44 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_NVCL44', 44)
|
||||
HEVC_NAL_RSV_NVCL45 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_NVCL45', 45)
|
||||
HEVC_NAL_RSV_NVCL46 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_NVCL46', 46)
|
||||
HEVC_NAL_RSV_NVCL47 = enum_HEVCNALUnitType.define('HEVC_NAL_RSV_NVCL47', 47)
|
||||
HEVC_NAL_UNSPEC48 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC48', 48)
|
||||
HEVC_NAL_UNSPEC49 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC49', 49)
|
||||
HEVC_NAL_UNSPEC50 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC50', 50)
|
||||
HEVC_NAL_UNSPEC51 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC51', 51)
|
||||
HEVC_NAL_UNSPEC52 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC52', 52)
|
||||
HEVC_NAL_UNSPEC53 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC53', 53)
|
||||
HEVC_NAL_UNSPEC54 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC54', 54)
|
||||
HEVC_NAL_UNSPEC55 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC55', 55)
|
||||
HEVC_NAL_UNSPEC56 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC56', 56)
|
||||
HEVC_NAL_UNSPEC57 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC57', 57)
|
||||
HEVC_NAL_UNSPEC58 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC58', 58)
|
||||
HEVC_NAL_UNSPEC59 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC59', 59)
|
||||
HEVC_NAL_UNSPEC60 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC60', 60)
|
||||
HEVC_NAL_UNSPEC61 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC61', 61)
|
||||
HEVC_NAL_UNSPEC62 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC62', 62)
|
||||
HEVC_NAL_UNSPEC63 = enum_HEVCNALUnitType.define('HEVC_NAL_UNSPEC63', 63)
|
||||
|
||||
class enum_HEVCSliceType(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
HEVC_SLICE_B = enum_HEVCSliceType.define('HEVC_SLICE_B', 0)
|
||||
HEVC_SLICE_P = enum_HEVCSliceType.define('HEVC_SLICE_P', 1)
|
||||
HEVC_SLICE_I = enum_HEVCSliceType.define('HEVC_SLICE_I', 2)
|
||||
|
||||
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
HEVC_MAX_LAYERS = _anonenum0.define('HEVC_MAX_LAYERS', 63)
|
||||
HEVC_MAX_SUB_LAYERS = _anonenum0.define('HEVC_MAX_SUB_LAYERS', 7)
|
||||
HEVC_MAX_LAYER_SETS = _anonenum0.define('HEVC_MAX_LAYER_SETS', 1024)
|
||||
HEVC_MAX_LAYER_ID = _anonenum0.define('HEVC_MAX_LAYER_ID', 63)
|
||||
HEVC_MAX_NUH_LAYER_ID = _anonenum0.define('HEVC_MAX_NUH_LAYER_ID', 62)
|
||||
HEVC_MAX_VPS_COUNT = _anonenum0.define('HEVC_MAX_VPS_COUNT', 16)
|
||||
HEVC_MAX_SPS_COUNT = _anonenum0.define('HEVC_MAX_SPS_COUNT', 16)
|
||||
HEVC_MAX_PPS_COUNT = _anonenum0.define('HEVC_MAX_PPS_COUNT', 64)
|
||||
HEVC_MAX_DPB_SIZE = _anonenum0.define('HEVC_MAX_DPB_SIZE', 16)
|
||||
HEVC_MAX_REFS = _anonenum0.define('HEVC_MAX_REFS', 16)
|
||||
HEVC_MAX_SHORT_TERM_REF_PIC_SETS = _anonenum0.define('HEVC_MAX_SHORT_TERM_REF_PIC_SETS', 64)
|
||||
HEVC_MAX_LONG_TERM_REF_PICS = _anonenum0.define('HEVC_MAX_LONG_TERM_REF_PICS', 32)
|
||||
HEVC_MIN_LOG2_CTB_SIZE = _anonenum0.define('HEVC_MIN_LOG2_CTB_SIZE', 4)
|
||||
HEVC_MAX_LOG2_CTB_SIZE = _anonenum0.define('HEVC_MAX_LOG2_CTB_SIZE', 6)
|
||||
HEVC_MAX_CPB_CNT = _anonenum0.define('HEVC_MAX_CPB_CNT', 32)
|
||||
HEVC_MAX_LUMA_PS = _anonenum0.define('HEVC_MAX_LUMA_PS', 35651584)
|
||||
HEVC_MAX_WIDTH = _anonenum0.define('HEVC_MAX_WIDTH', 16888)
|
||||
HEVC_MAX_HEIGHT = _anonenum0.define('HEVC_MAX_HEIGHT', 16888)
|
||||
HEVC_MAX_TILE_ROWS = _anonenum0.define('HEVC_MAX_TILE_ROWS', 22)
|
||||
HEVC_MAX_TILE_COLUMNS = _anonenum0.define('HEVC_MAX_TILE_COLUMNS', 20)
|
||||
HEVC_MAX_SLICE_SEGMENTS = _anonenum0.define('HEVC_MAX_SLICE_SEGMENTS', 600)
|
||||
HEVC_MAX_ENTRY_POINT_OFFSETS = _anonenum0.define('HEVC_MAX_ENTRY_POINT_OFFSETS', 2700)
|
||||
HEVC_MAX_PALETTE_PREDICTOR_SIZE = _anonenum0.define('HEVC_MAX_PALETTE_PREDICTOR_SIZE', 128)
|
||||
|
||||
class enum_HEVCScalabilityMask(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
HEVC_SCALABILITY_DEPTH = enum_HEVCScalabilityMask.define('HEVC_SCALABILITY_DEPTH', 32768)
|
||||
HEVC_SCALABILITY_MULTIVIEW = enum_HEVCScalabilityMask.define('HEVC_SCALABILITY_MULTIVIEW', 16384)
|
||||
HEVC_SCALABILITY_SPATIAL = enum_HEVCScalabilityMask.define('HEVC_SCALABILITY_SPATIAL', 8192)
|
||||
HEVC_SCALABILITY_AUXILIARY = enum_HEVCScalabilityMask.define('HEVC_SCALABILITY_AUXILIARY', 4096)
|
||||
HEVC_SCALABILITY_MASK_MAX = enum_HEVCScalabilityMask.define('HEVC_SCALABILITY_MASK_MAX', 65535)
|
||||
|
||||
class enum_HEVCAuxId(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
HEVC_AUX_ALPHA = enum_HEVCAuxId.define('HEVC_AUX_ALPHA', 1)
|
||||
HEVC_AUX_DEPTH = enum_HEVCAuxId.define('HEVC_AUX_DEPTH', 2)
|
||||
|
||||
enum_HEVCNALUnitType: dict[int, str] = {(HEVC_NAL_TRAIL_N:=0): 'HEVC_NAL_TRAIL_N', (HEVC_NAL_TRAIL_R:=1): 'HEVC_NAL_TRAIL_R', (HEVC_NAL_TSA_N:=2): 'HEVC_NAL_TSA_N', (HEVC_NAL_TSA_R:=3): 'HEVC_NAL_TSA_R', (HEVC_NAL_STSA_N:=4): 'HEVC_NAL_STSA_N', (HEVC_NAL_STSA_R:=5): 'HEVC_NAL_STSA_R', (HEVC_NAL_RADL_N:=6): 'HEVC_NAL_RADL_N', (HEVC_NAL_RADL_R:=7): 'HEVC_NAL_RADL_R', (HEVC_NAL_RASL_N:=8): 'HEVC_NAL_RASL_N', (HEVC_NAL_RASL_R:=9): 'HEVC_NAL_RASL_R', (HEVC_NAL_VCL_N10:=10): 'HEVC_NAL_VCL_N10', (HEVC_NAL_VCL_R11:=11): 'HEVC_NAL_VCL_R11', (HEVC_NAL_VCL_N12:=12): 'HEVC_NAL_VCL_N12', (HEVC_NAL_VCL_R13:=13): 'HEVC_NAL_VCL_R13', (HEVC_NAL_VCL_N14:=14): 'HEVC_NAL_VCL_N14', (HEVC_NAL_VCL_R15:=15): 'HEVC_NAL_VCL_R15', (HEVC_NAL_BLA_W_LP:=16): 'HEVC_NAL_BLA_W_LP', (HEVC_NAL_BLA_W_RADL:=17): 'HEVC_NAL_BLA_W_RADL', (HEVC_NAL_BLA_N_LP:=18): 'HEVC_NAL_BLA_N_LP', (HEVC_NAL_IDR_W_RADL:=19): 'HEVC_NAL_IDR_W_RADL', (HEVC_NAL_IDR_N_LP:=20): 'HEVC_NAL_IDR_N_LP', (HEVC_NAL_CRA_NUT:=21): 'HEVC_NAL_CRA_NUT', (HEVC_NAL_RSV_IRAP_VCL22:=22): 'HEVC_NAL_RSV_IRAP_VCL22', (HEVC_NAL_RSV_IRAP_VCL23:=23): 'HEVC_NAL_RSV_IRAP_VCL23', (HEVC_NAL_RSV_VCL24:=24): 'HEVC_NAL_RSV_VCL24', (HEVC_NAL_RSV_VCL25:=25): 'HEVC_NAL_RSV_VCL25', (HEVC_NAL_RSV_VCL26:=26): 'HEVC_NAL_RSV_VCL26', (HEVC_NAL_RSV_VCL27:=27): 'HEVC_NAL_RSV_VCL27', (HEVC_NAL_RSV_VCL28:=28): 'HEVC_NAL_RSV_VCL28', (HEVC_NAL_RSV_VCL29:=29): 'HEVC_NAL_RSV_VCL29', (HEVC_NAL_RSV_VCL30:=30): 'HEVC_NAL_RSV_VCL30', (HEVC_NAL_RSV_VCL31:=31): 'HEVC_NAL_RSV_VCL31', (HEVC_NAL_VPS:=32): 'HEVC_NAL_VPS', (HEVC_NAL_SPS:=33): 'HEVC_NAL_SPS', (HEVC_NAL_PPS:=34): 'HEVC_NAL_PPS', (HEVC_NAL_AUD:=35): 'HEVC_NAL_AUD', (HEVC_NAL_EOS_NUT:=36): 'HEVC_NAL_EOS_NUT', (HEVC_NAL_EOB_NUT:=37): 'HEVC_NAL_EOB_NUT', (HEVC_NAL_FD_NUT:=38): 'HEVC_NAL_FD_NUT', (HEVC_NAL_SEI_PREFIX:=39): 'HEVC_NAL_SEI_PREFIX', (HEVC_NAL_SEI_SUFFIX:=40): 'HEVC_NAL_SEI_SUFFIX', (HEVC_NAL_RSV_NVCL41:=41): 'HEVC_NAL_RSV_NVCL41', (HEVC_NAL_RSV_NVCL42:=42): 'HEVC_NAL_RSV_NVCL42', (HEVC_NAL_RSV_NVCL43:=43): 'HEVC_NAL_RSV_NVCL43', (HEVC_NAL_RSV_NVCL44:=44): 'HEVC_NAL_RSV_NVCL44', (HEVC_NAL_RSV_NVCL45:=45): 'HEVC_NAL_RSV_NVCL45', (HEVC_NAL_RSV_NVCL46:=46): 'HEVC_NAL_RSV_NVCL46', (HEVC_NAL_RSV_NVCL47:=47): 'HEVC_NAL_RSV_NVCL47', (HEVC_NAL_UNSPEC48:=48): 'HEVC_NAL_UNSPEC48', (HEVC_NAL_UNSPEC49:=49): 'HEVC_NAL_UNSPEC49', (HEVC_NAL_UNSPEC50:=50): 'HEVC_NAL_UNSPEC50', (HEVC_NAL_UNSPEC51:=51): 'HEVC_NAL_UNSPEC51', (HEVC_NAL_UNSPEC52:=52): 'HEVC_NAL_UNSPEC52', (HEVC_NAL_UNSPEC53:=53): 'HEVC_NAL_UNSPEC53', (HEVC_NAL_UNSPEC54:=54): 'HEVC_NAL_UNSPEC54', (HEVC_NAL_UNSPEC55:=55): 'HEVC_NAL_UNSPEC55', (HEVC_NAL_UNSPEC56:=56): 'HEVC_NAL_UNSPEC56', (HEVC_NAL_UNSPEC57:=57): 'HEVC_NAL_UNSPEC57', (HEVC_NAL_UNSPEC58:=58): 'HEVC_NAL_UNSPEC58', (HEVC_NAL_UNSPEC59:=59): 'HEVC_NAL_UNSPEC59', (HEVC_NAL_UNSPEC60:=60): 'HEVC_NAL_UNSPEC60', (HEVC_NAL_UNSPEC61:=61): 'HEVC_NAL_UNSPEC61', (HEVC_NAL_UNSPEC62:=62): 'HEVC_NAL_UNSPEC62', (HEVC_NAL_UNSPEC63:=63): 'HEVC_NAL_UNSPEC63'}
|
||||
enum_HEVCSliceType: dict[int, str] = {(HEVC_SLICE_B:=0): 'HEVC_SLICE_B', (HEVC_SLICE_P:=1): 'HEVC_SLICE_P', (HEVC_SLICE_I:=2): 'HEVC_SLICE_I'}
|
||||
_anonenum0: dict[int, str] = {(HEVC_MAX_LAYERS:=63): 'HEVC_MAX_LAYERS', (HEVC_MAX_SUB_LAYERS:=7): 'HEVC_MAX_SUB_LAYERS', (HEVC_MAX_LAYER_SETS:=1024): 'HEVC_MAX_LAYER_SETS', (HEVC_MAX_LAYER_ID:=63): 'HEVC_MAX_LAYER_ID', (HEVC_MAX_NUH_LAYER_ID:=62): 'HEVC_MAX_NUH_LAYER_ID', (HEVC_MAX_VPS_COUNT:=16): 'HEVC_MAX_VPS_COUNT', (HEVC_MAX_SPS_COUNT:=16): 'HEVC_MAX_SPS_COUNT', (HEVC_MAX_PPS_COUNT:=64): 'HEVC_MAX_PPS_COUNT', (HEVC_MAX_DPB_SIZE:=16): 'HEVC_MAX_DPB_SIZE', (HEVC_MAX_REFS:=16): 'HEVC_MAX_REFS', (HEVC_MAX_SHORT_TERM_REF_PIC_SETS:=64): 'HEVC_MAX_SHORT_TERM_REF_PIC_SETS', (HEVC_MAX_LONG_TERM_REF_PICS:=32): 'HEVC_MAX_LONG_TERM_REF_PICS', (HEVC_MIN_LOG2_CTB_SIZE:=4): 'HEVC_MIN_LOG2_CTB_SIZE', (HEVC_MAX_LOG2_CTB_SIZE:=6): 'HEVC_MAX_LOG2_CTB_SIZE', (HEVC_MAX_CPB_CNT:=32): 'HEVC_MAX_CPB_CNT', (HEVC_MAX_LUMA_PS:=35651584): 'HEVC_MAX_LUMA_PS', (HEVC_MAX_WIDTH:=16888): 'HEVC_MAX_WIDTH', (HEVC_MAX_HEIGHT:=16888): 'HEVC_MAX_HEIGHT', (HEVC_MAX_TILE_ROWS:=22): 'HEVC_MAX_TILE_ROWS', (HEVC_MAX_TILE_COLUMNS:=20): 'HEVC_MAX_TILE_COLUMNS', (HEVC_MAX_SLICE_SEGMENTS:=600): 'HEVC_MAX_SLICE_SEGMENTS', (HEVC_MAX_ENTRY_POINT_OFFSETS:=2700): 'HEVC_MAX_ENTRY_POINT_OFFSETS', (HEVC_MAX_PALETTE_PREDICTOR_SIZE:=128): 'HEVC_MAX_PALETTE_PREDICTOR_SIZE'}
|
||||
enum_HEVCScalabilityMask: dict[int, str] = {(HEVC_SCALABILITY_DEPTH:=32768): 'HEVC_SCALABILITY_DEPTH', (HEVC_SCALABILITY_MULTIVIEW:=16384): 'HEVC_SCALABILITY_MULTIVIEW', (HEVC_SCALABILITY_SPATIAL:=8192): 'HEVC_SCALABILITY_SPATIAL', (HEVC_SCALABILITY_AUXILIARY:=4096): 'HEVC_SCALABILITY_AUXILIARY', (HEVC_SCALABILITY_MASK_MAX:=65535): 'HEVC_SCALABILITY_MASK_MAX'}
|
||||
enum_HEVCAuxId: dict[int, str] = {(HEVC_AUX_ALPHA:=1): 'HEVC_AUX_ALPHA', (HEVC_AUX_DEPTH:=2): 'HEVC_AUX_DEPTH'}
|
||||
@c.record
|
||||
class struct_H265RawNALUnitHeader(c.Struct):
|
||||
SIZE = 3
|
||||
nal_unit_type: Annotated[uint8_t, 0]
|
||||
nuh_layer_id: Annotated[uint8_t, 1]
|
||||
nuh_temporal_id_plus1: Annotated[uint8_t, 2]
|
||||
uint8_t: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
||||
nal_unit_type: int
|
||||
nuh_layer_id: int
|
||||
nuh_temporal_id_plus1: int
|
||||
uint8_t: TypeAlias = ctypes.c_ubyte
|
||||
struct_H265RawNALUnitHeader.register_fields([('nal_unit_type', uint8_t, 0), ('nuh_layer_id', uint8_t, 1), ('nuh_temporal_id_plus1', uint8_t, 2)])
|
||||
H265RawNALUnitHeader: TypeAlias = struct_H265RawNALUnitHeader
|
||||
@c.record
|
||||
class struct_H265RawProfileTierLevel(c.Struct):
|
||||
SIZE = 422
|
||||
general_profile_space: Annotated[uint8_t, 0]
|
||||
general_tier_flag: Annotated[uint8_t, 1]
|
||||
general_profile_idc: Annotated[uint8_t, 2]
|
||||
general_profile_compatibility_flag: Annotated[c.Array[uint8_t, Literal[32]], 3]
|
||||
general_progressive_source_flag: Annotated[uint8_t, 35]
|
||||
general_interlaced_source_flag: Annotated[uint8_t, 36]
|
||||
general_non_packed_constraint_flag: Annotated[uint8_t, 37]
|
||||
general_frame_only_constraint_flag: Annotated[uint8_t, 38]
|
||||
general_max_12bit_constraint_flag: Annotated[uint8_t, 39]
|
||||
general_max_10bit_constraint_flag: Annotated[uint8_t, 40]
|
||||
general_max_8bit_constraint_flag: Annotated[uint8_t, 41]
|
||||
general_max_422chroma_constraint_flag: Annotated[uint8_t, 42]
|
||||
general_max_420chroma_constraint_flag: Annotated[uint8_t, 43]
|
||||
general_max_monochrome_constraint_flag: Annotated[uint8_t, 44]
|
||||
general_intra_constraint_flag: Annotated[uint8_t, 45]
|
||||
general_one_picture_only_constraint_flag: Annotated[uint8_t, 46]
|
||||
general_lower_bit_rate_constraint_flag: Annotated[uint8_t, 47]
|
||||
general_max_14bit_constraint_flag: Annotated[uint8_t, 48]
|
||||
general_inbld_flag: Annotated[uint8_t, 49]
|
||||
general_level_idc: Annotated[uint8_t, 50]
|
||||
sub_layer_profile_present_flag: Annotated[c.Array[uint8_t, Literal[7]], 51]
|
||||
sub_layer_level_present_flag: Annotated[c.Array[uint8_t, Literal[7]], 58]
|
||||
sub_layer_profile_space: Annotated[c.Array[uint8_t, Literal[7]], 65]
|
||||
sub_layer_tier_flag: Annotated[c.Array[uint8_t, Literal[7]], 72]
|
||||
sub_layer_profile_idc: Annotated[c.Array[uint8_t, Literal[7]], 79]
|
||||
sub_layer_profile_compatibility_flag: Annotated[c.Array[c.Array[uint8_t, Literal[32]], Literal[7]], 86]
|
||||
sub_layer_progressive_source_flag: Annotated[c.Array[uint8_t, Literal[7]], 310]
|
||||
sub_layer_interlaced_source_flag: Annotated[c.Array[uint8_t, Literal[7]], 317]
|
||||
sub_layer_non_packed_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 324]
|
||||
sub_layer_frame_only_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 331]
|
||||
sub_layer_max_12bit_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 338]
|
||||
sub_layer_max_10bit_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 345]
|
||||
sub_layer_max_8bit_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 352]
|
||||
sub_layer_max_422chroma_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 359]
|
||||
sub_layer_max_420chroma_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 366]
|
||||
sub_layer_max_monochrome_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 373]
|
||||
sub_layer_intra_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 380]
|
||||
sub_layer_one_picture_only_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 387]
|
||||
sub_layer_lower_bit_rate_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 394]
|
||||
sub_layer_max_14bit_constraint_flag: Annotated[c.Array[uint8_t, Literal[7]], 401]
|
||||
sub_layer_inbld_flag: Annotated[c.Array[uint8_t, Literal[7]], 408]
|
||||
sub_layer_level_idc: Annotated[c.Array[uint8_t, Literal[7]], 415]
|
||||
general_profile_space: int
|
||||
general_tier_flag: int
|
||||
general_profile_idc: int
|
||||
general_profile_compatibility_flag: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
general_progressive_source_flag: int
|
||||
general_interlaced_source_flag: int
|
||||
general_non_packed_constraint_flag: int
|
||||
general_frame_only_constraint_flag: int
|
||||
general_max_12bit_constraint_flag: int
|
||||
general_max_10bit_constraint_flag: int
|
||||
general_max_8bit_constraint_flag: int
|
||||
general_max_422chroma_constraint_flag: int
|
||||
general_max_420chroma_constraint_flag: int
|
||||
general_max_monochrome_constraint_flag: int
|
||||
general_intra_constraint_flag: int
|
||||
general_one_picture_only_constraint_flag: int
|
||||
general_lower_bit_rate_constraint_flag: int
|
||||
general_max_14bit_constraint_flag: int
|
||||
general_inbld_flag: int
|
||||
general_level_idc: int
|
||||
sub_layer_profile_present_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_level_present_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_profile_space: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_tier_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_profile_idc: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_profile_compatibility_flag: c.Array[c.Array[ctypes.c_ubyte, Literal[32]], Literal[7]]
|
||||
sub_layer_progressive_source_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_interlaced_source_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_non_packed_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_frame_only_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_max_12bit_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_max_10bit_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_max_8bit_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_max_422chroma_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_max_420chroma_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_max_monochrome_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_intra_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_one_picture_only_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_lower_bit_rate_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_max_14bit_constraint_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_inbld_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
sub_layer_level_idc: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
struct_H265RawProfileTierLevel.register_fields([('general_profile_space', uint8_t, 0), ('general_tier_flag', uint8_t, 1), ('general_profile_idc', uint8_t, 2), ('general_profile_compatibility_flag', c.Array[uint8_t, Literal[32]], 3), ('general_progressive_source_flag', uint8_t, 35), ('general_interlaced_source_flag', uint8_t, 36), ('general_non_packed_constraint_flag', uint8_t, 37), ('general_frame_only_constraint_flag', uint8_t, 38), ('general_max_12bit_constraint_flag', uint8_t, 39), ('general_max_10bit_constraint_flag', uint8_t, 40), ('general_max_8bit_constraint_flag', uint8_t, 41), ('general_max_422chroma_constraint_flag', uint8_t, 42), ('general_max_420chroma_constraint_flag', uint8_t, 43), ('general_max_monochrome_constraint_flag', uint8_t, 44), ('general_intra_constraint_flag', uint8_t, 45), ('general_one_picture_only_constraint_flag', uint8_t, 46), ('general_lower_bit_rate_constraint_flag', uint8_t, 47), ('general_max_14bit_constraint_flag', uint8_t, 48), ('general_inbld_flag', uint8_t, 49), ('general_level_idc', uint8_t, 50), ('sub_layer_profile_present_flag', c.Array[uint8_t, Literal[7]], 51), ('sub_layer_level_present_flag', c.Array[uint8_t, Literal[7]], 58), ('sub_layer_profile_space', c.Array[uint8_t, Literal[7]], 65), ('sub_layer_tier_flag', c.Array[uint8_t, Literal[7]], 72), ('sub_layer_profile_idc', c.Array[uint8_t, Literal[7]], 79), ('sub_layer_profile_compatibility_flag', c.Array[c.Array[uint8_t, Literal[32]], Literal[7]], 86), ('sub_layer_progressive_source_flag', c.Array[uint8_t, Literal[7]], 310), ('sub_layer_interlaced_source_flag', c.Array[uint8_t, Literal[7]], 317), ('sub_layer_non_packed_constraint_flag', c.Array[uint8_t, Literal[7]], 324), ('sub_layer_frame_only_constraint_flag', c.Array[uint8_t, Literal[7]], 331), ('sub_layer_max_12bit_constraint_flag', c.Array[uint8_t, Literal[7]], 338), ('sub_layer_max_10bit_constraint_flag', c.Array[uint8_t, Literal[7]], 345), ('sub_layer_max_8bit_constraint_flag', c.Array[uint8_t, Literal[7]], 352), ('sub_layer_max_422chroma_constraint_flag', c.Array[uint8_t, Literal[7]], 359), ('sub_layer_max_420chroma_constraint_flag', c.Array[uint8_t, Literal[7]], 366), ('sub_layer_max_monochrome_constraint_flag', c.Array[uint8_t, Literal[7]], 373), ('sub_layer_intra_constraint_flag', c.Array[uint8_t, Literal[7]], 380), ('sub_layer_one_picture_only_constraint_flag', c.Array[uint8_t, Literal[7]], 387), ('sub_layer_lower_bit_rate_constraint_flag', c.Array[uint8_t, Literal[7]], 394), ('sub_layer_max_14bit_constraint_flag', c.Array[uint8_t, Literal[7]], 401), ('sub_layer_inbld_flag', c.Array[uint8_t, Literal[7]], 408), ('sub_layer_level_idc', c.Array[uint8_t, Literal[7]], 415)])
|
||||
H265RawProfileTierLevel: TypeAlias = struct_H265RawProfileTierLevel
|
||||
@c.record
|
||||
class struct_H265RawSubLayerHRDParameters(c.Struct):
|
||||
SIZE = 544
|
||||
bit_rate_value_minus1: Annotated[c.Array[uint32_t, Literal[32]], 0]
|
||||
cpb_size_value_minus1: Annotated[c.Array[uint32_t, Literal[32]], 128]
|
||||
cpb_size_du_value_minus1: Annotated[c.Array[uint32_t, Literal[32]], 256]
|
||||
bit_rate_du_value_minus1: Annotated[c.Array[uint32_t, Literal[32]], 384]
|
||||
cbr_flag: Annotated[c.Array[uint8_t, Literal[32]], 512]
|
||||
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
bit_rate_value_minus1: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
cpb_size_value_minus1: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
cpb_size_du_value_minus1: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
bit_rate_du_value_minus1: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
cbr_flag: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
uint32_t: TypeAlias = ctypes.c_uint32
|
||||
struct_H265RawSubLayerHRDParameters.register_fields([('bit_rate_value_minus1', c.Array[uint32_t, Literal[32]], 0), ('cpb_size_value_minus1', c.Array[uint32_t, Literal[32]], 128), ('cpb_size_du_value_minus1', c.Array[uint32_t, Literal[32]], 256), ('bit_rate_du_value_minus1', c.Array[uint32_t, Literal[32]], 384), ('cbr_flag', c.Array[uint8_t, Literal[32]], 512)])
|
||||
H265RawSubLayerHRDParameters: TypeAlias = struct_H265RawSubLayerHRDParameters
|
||||
@c.record
|
||||
class struct_H265RawHRDParameters(c.Struct):
|
||||
SIZE = 7672
|
||||
nal_hrd_parameters_present_flag: Annotated[uint8_t, 0]
|
||||
vcl_hrd_parameters_present_flag: Annotated[uint8_t, 1]
|
||||
sub_pic_hrd_params_present_flag: Annotated[uint8_t, 2]
|
||||
tick_divisor_minus2: Annotated[uint8_t, 3]
|
||||
du_cpb_removal_delay_increment_length_minus1: Annotated[uint8_t, 4]
|
||||
sub_pic_cpb_params_in_pic_timing_sei_flag: Annotated[uint8_t, 5]
|
||||
dpb_output_delay_du_length_minus1: Annotated[uint8_t, 6]
|
||||
bit_rate_scale: Annotated[uint8_t, 7]
|
||||
cpb_size_scale: Annotated[uint8_t, 8]
|
||||
cpb_size_du_scale: Annotated[uint8_t, 9]
|
||||
initial_cpb_removal_delay_length_minus1: Annotated[uint8_t, 10]
|
||||
au_cpb_removal_delay_length_minus1: Annotated[uint8_t, 11]
|
||||
dpb_output_delay_length_minus1: Annotated[uint8_t, 12]
|
||||
fixed_pic_rate_general_flag: Annotated[c.Array[uint8_t, Literal[7]], 13]
|
||||
fixed_pic_rate_within_cvs_flag: Annotated[c.Array[uint8_t, Literal[7]], 20]
|
||||
elemental_duration_in_tc_minus1: Annotated[c.Array[uint16_t, Literal[7]], 28]
|
||||
low_delay_hrd_flag: Annotated[c.Array[uint8_t, Literal[7]], 42]
|
||||
cpb_cnt_minus1: Annotated[c.Array[uint8_t, Literal[7]], 49]
|
||||
nal_sub_layer_hrd_parameters: Annotated[c.Array[H265RawSubLayerHRDParameters, Literal[7]], 56]
|
||||
vcl_sub_layer_hrd_parameters: Annotated[c.Array[H265RawSubLayerHRDParameters, Literal[7]], 3864]
|
||||
uint16_t: TypeAlias = Annotated[int, ctypes.c_uint16]
|
||||
nal_hrd_parameters_present_flag: int
|
||||
vcl_hrd_parameters_present_flag: int
|
||||
sub_pic_hrd_params_present_flag: int
|
||||
tick_divisor_minus2: int
|
||||
du_cpb_removal_delay_increment_length_minus1: int
|
||||
sub_pic_cpb_params_in_pic_timing_sei_flag: int
|
||||
dpb_output_delay_du_length_minus1: int
|
||||
bit_rate_scale: int
|
||||
cpb_size_scale: int
|
||||
cpb_size_du_scale: int
|
||||
initial_cpb_removal_delay_length_minus1: int
|
||||
au_cpb_removal_delay_length_minus1: int
|
||||
dpb_output_delay_length_minus1: int
|
||||
fixed_pic_rate_general_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
fixed_pic_rate_within_cvs_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
elemental_duration_in_tc_minus1: c.Array[ctypes.c_uint16, Literal[7]]
|
||||
low_delay_hrd_flag: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
cpb_cnt_minus1: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
nal_sub_layer_hrd_parameters: c.Array[struct_H265RawSubLayerHRDParameters, Literal[7]]
|
||||
vcl_sub_layer_hrd_parameters: c.Array[struct_H265RawSubLayerHRDParameters, Literal[7]]
|
||||
uint16_t: TypeAlias = ctypes.c_uint16
|
||||
struct_H265RawHRDParameters.register_fields([('nal_hrd_parameters_present_flag', uint8_t, 0), ('vcl_hrd_parameters_present_flag', uint8_t, 1), ('sub_pic_hrd_params_present_flag', uint8_t, 2), ('tick_divisor_minus2', uint8_t, 3), ('du_cpb_removal_delay_increment_length_minus1', uint8_t, 4), ('sub_pic_cpb_params_in_pic_timing_sei_flag', uint8_t, 5), ('dpb_output_delay_du_length_minus1', uint8_t, 6), ('bit_rate_scale', uint8_t, 7), ('cpb_size_scale', uint8_t, 8), ('cpb_size_du_scale', uint8_t, 9), ('initial_cpb_removal_delay_length_minus1', uint8_t, 10), ('au_cpb_removal_delay_length_minus1', uint8_t, 11), ('dpb_output_delay_length_minus1', uint8_t, 12), ('fixed_pic_rate_general_flag', c.Array[uint8_t, Literal[7]], 13), ('fixed_pic_rate_within_cvs_flag', c.Array[uint8_t, Literal[7]], 20), ('elemental_duration_in_tc_minus1', c.Array[uint16_t, Literal[7]], 28), ('low_delay_hrd_flag', c.Array[uint8_t, Literal[7]], 42), ('cpb_cnt_minus1', c.Array[uint8_t, Literal[7]], 49), ('nal_sub_layer_hrd_parameters', c.Array[H265RawSubLayerHRDParameters, Literal[7]], 56), ('vcl_sub_layer_hrd_parameters', c.Array[H265RawSubLayerHRDParameters, Literal[7]], 3864)])
|
||||
H265RawHRDParameters: TypeAlias = struct_H265RawHRDParameters
|
||||
@c.record
|
||||
class struct_H265RawVUI(c.Struct):
|
||||
SIZE = 7736
|
||||
aspect_ratio_info_present_flag: Annotated[uint8_t, 0]
|
||||
aspect_ratio_idc: Annotated[uint8_t, 1]
|
||||
sar_width: Annotated[uint16_t, 2]
|
||||
sar_height: Annotated[uint16_t, 4]
|
||||
overscan_info_present_flag: Annotated[uint8_t, 6]
|
||||
overscan_appropriate_flag: Annotated[uint8_t, 7]
|
||||
video_signal_type_present_flag: Annotated[uint8_t, 8]
|
||||
video_format: Annotated[uint8_t, 9]
|
||||
video_full_range_flag: Annotated[uint8_t, 10]
|
||||
colour_description_present_flag: Annotated[uint8_t, 11]
|
||||
colour_primaries: Annotated[uint8_t, 12]
|
||||
transfer_characteristics: Annotated[uint8_t, 13]
|
||||
matrix_coefficients: Annotated[uint8_t, 14]
|
||||
chroma_loc_info_present_flag: Annotated[uint8_t, 15]
|
||||
chroma_sample_loc_type_top_field: Annotated[uint8_t, 16]
|
||||
chroma_sample_loc_type_bottom_field: Annotated[uint8_t, 17]
|
||||
neutral_chroma_indication_flag: Annotated[uint8_t, 18]
|
||||
field_seq_flag: Annotated[uint8_t, 19]
|
||||
frame_field_info_present_flag: Annotated[uint8_t, 20]
|
||||
default_display_window_flag: Annotated[uint8_t, 21]
|
||||
def_disp_win_left_offset: Annotated[uint16_t, 22]
|
||||
def_disp_win_right_offset: Annotated[uint16_t, 24]
|
||||
def_disp_win_top_offset: Annotated[uint16_t, 26]
|
||||
def_disp_win_bottom_offset: Annotated[uint16_t, 28]
|
||||
vui_timing_info_present_flag: Annotated[uint8_t, 30]
|
||||
vui_num_units_in_tick: Annotated[uint32_t, 32]
|
||||
vui_time_scale: Annotated[uint32_t, 36]
|
||||
vui_poc_proportional_to_timing_flag: Annotated[uint8_t, 40]
|
||||
vui_num_ticks_poc_diff_one_minus1: Annotated[uint32_t, 44]
|
||||
vui_hrd_parameters_present_flag: Annotated[uint8_t, 48]
|
||||
hrd_parameters: Annotated[H265RawHRDParameters, 52]
|
||||
bitstream_restriction_flag: Annotated[uint8_t, 7724]
|
||||
tiles_fixed_structure_flag: Annotated[uint8_t, 7725]
|
||||
motion_vectors_over_pic_boundaries_flag: Annotated[uint8_t, 7726]
|
||||
restricted_ref_pic_lists_flag: Annotated[uint8_t, 7727]
|
||||
min_spatial_segmentation_idc: Annotated[uint16_t, 7728]
|
||||
max_bytes_per_pic_denom: Annotated[uint8_t, 7730]
|
||||
max_bits_per_min_cu_denom: Annotated[uint8_t, 7731]
|
||||
log2_max_mv_length_horizontal: Annotated[uint8_t, 7732]
|
||||
log2_max_mv_length_vertical: Annotated[uint8_t, 7733]
|
||||
aspect_ratio_info_present_flag: int
|
||||
aspect_ratio_idc: int
|
||||
sar_width: int
|
||||
sar_height: int
|
||||
overscan_info_present_flag: int
|
||||
overscan_appropriate_flag: int
|
||||
video_signal_type_present_flag: int
|
||||
video_format: int
|
||||
video_full_range_flag: int
|
||||
colour_description_present_flag: int
|
||||
colour_primaries: int
|
||||
transfer_characteristics: int
|
||||
matrix_coefficients: int
|
||||
chroma_loc_info_present_flag: int
|
||||
chroma_sample_loc_type_top_field: int
|
||||
chroma_sample_loc_type_bottom_field: int
|
||||
neutral_chroma_indication_flag: int
|
||||
field_seq_flag: int
|
||||
frame_field_info_present_flag: int
|
||||
default_display_window_flag: int
|
||||
def_disp_win_left_offset: int
|
||||
def_disp_win_right_offset: int
|
||||
def_disp_win_top_offset: int
|
||||
def_disp_win_bottom_offset: int
|
||||
vui_timing_info_present_flag: int
|
||||
vui_num_units_in_tick: int
|
||||
vui_time_scale: int
|
||||
vui_poc_proportional_to_timing_flag: int
|
||||
vui_num_ticks_poc_diff_one_minus1: int
|
||||
vui_hrd_parameters_present_flag: int
|
||||
hrd_parameters: struct_H265RawHRDParameters
|
||||
bitstream_restriction_flag: int
|
||||
tiles_fixed_structure_flag: int
|
||||
motion_vectors_over_pic_boundaries_flag: int
|
||||
restricted_ref_pic_lists_flag: int
|
||||
min_spatial_segmentation_idc: int
|
||||
max_bytes_per_pic_denom: int
|
||||
max_bits_per_min_cu_denom: int
|
||||
log2_max_mv_length_horizontal: int
|
||||
log2_max_mv_length_vertical: int
|
||||
struct_H265RawVUI.register_fields([('aspect_ratio_info_present_flag', uint8_t, 0), ('aspect_ratio_idc', uint8_t, 1), ('sar_width', uint16_t, 2), ('sar_height', uint16_t, 4), ('overscan_info_present_flag', uint8_t, 6), ('overscan_appropriate_flag', uint8_t, 7), ('video_signal_type_present_flag', uint8_t, 8), ('video_format', uint8_t, 9), ('video_full_range_flag', uint8_t, 10), ('colour_description_present_flag', uint8_t, 11), ('colour_primaries', uint8_t, 12), ('transfer_characteristics', uint8_t, 13), ('matrix_coefficients', uint8_t, 14), ('chroma_loc_info_present_flag', uint8_t, 15), ('chroma_sample_loc_type_top_field', uint8_t, 16), ('chroma_sample_loc_type_bottom_field', uint8_t, 17), ('neutral_chroma_indication_flag', uint8_t, 18), ('field_seq_flag', uint8_t, 19), ('frame_field_info_present_flag', uint8_t, 20), ('default_display_window_flag', uint8_t, 21), ('def_disp_win_left_offset', uint16_t, 22), ('def_disp_win_right_offset', uint16_t, 24), ('def_disp_win_top_offset', uint16_t, 26), ('def_disp_win_bottom_offset', uint16_t, 28), ('vui_timing_info_present_flag', uint8_t, 30), ('vui_num_units_in_tick', uint32_t, 32), ('vui_time_scale', uint32_t, 36), ('vui_poc_proportional_to_timing_flag', uint8_t, 40), ('vui_num_ticks_poc_diff_one_minus1', uint32_t, 44), ('vui_hrd_parameters_present_flag', uint8_t, 48), ('hrd_parameters', H265RawHRDParameters, 52), ('bitstream_restriction_flag', uint8_t, 7724), ('tiles_fixed_structure_flag', uint8_t, 7725), ('motion_vectors_over_pic_boundaries_flag', uint8_t, 7726), ('restricted_ref_pic_lists_flag', uint8_t, 7727), ('min_spatial_segmentation_idc', uint16_t, 7728), ('max_bytes_per_pic_denom', uint8_t, 7730), ('max_bits_per_min_cu_denom', uint8_t, 7731), ('log2_max_mv_length_horizontal', uint8_t, 7732), ('log2_max_mv_length_vertical', uint8_t, 7733)])
|
||||
H265RawVUI: TypeAlias = struct_H265RawVUI
|
||||
class struct_H265RawExtensionData(c.Struct): SIZE = 0
|
||||
class struct_H265RawExtensionData(c.Struct): pass
|
||||
H265RawExtensionData: TypeAlias = struct_H265RawExtensionData
|
||||
class struct_H265RawVPS(c.Struct): SIZE = 0
|
||||
class struct_H265RawVPS(c.Struct): pass
|
||||
H265RawVPS: TypeAlias = struct_H265RawVPS
|
||||
@c.record
|
||||
class struct_H265RawSTRefPicSet(c.Struct):
|
||||
SIZE = 136
|
||||
inter_ref_pic_set_prediction_flag: Annotated[uint8_t, 0]
|
||||
delta_idx_minus1: Annotated[uint8_t, 1]
|
||||
delta_rps_sign: Annotated[uint8_t, 2]
|
||||
abs_delta_rps_minus1: Annotated[uint16_t, 4]
|
||||
used_by_curr_pic_flag: Annotated[c.Array[uint8_t, Literal[16]], 6]
|
||||
use_delta_flag: Annotated[c.Array[uint8_t, Literal[16]], 22]
|
||||
num_negative_pics: Annotated[uint8_t, 38]
|
||||
num_positive_pics: Annotated[uint8_t, 39]
|
||||
delta_poc_s0_minus1: Annotated[c.Array[uint16_t, Literal[16]], 40]
|
||||
used_by_curr_pic_s0_flag: Annotated[c.Array[uint8_t, Literal[16]], 72]
|
||||
delta_poc_s1_minus1: Annotated[c.Array[uint16_t, Literal[16]], 88]
|
||||
used_by_curr_pic_s1_flag: Annotated[c.Array[uint8_t, Literal[16]], 120]
|
||||
inter_ref_pic_set_prediction_flag: int
|
||||
delta_idx_minus1: int
|
||||
delta_rps_sign: int
|
||||
abs_delta_rps_minus1: int
|
||||
used_by_curr_pic_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
use_delta_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
num_negative_pics: int
|
||||
num_positive_pics: int
|
||||
delta_poc_s0_minus1: c.Array[ctypes.c_uint16, Literal[16]]
|
||||
used_by_curr_pic_s0_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
delta_poc_s1_minus1: c.Array[ctypes.c_uint16, Literal[16]]
|
||||
used_by_curr_pic_s1_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
struct_H265RawSTRefPicSet.register_fields([('inter_ref_pic_set_prediction_flag', uint8_t, 0), ('delta_idx_minus1', uint8_t, 1), ('delta_rps_sign', uint8_t, 2), ('abs_delta_rps_minus1', uint16_t, 4), ('used_by_curr_pic_flag', c.Array[uint8_t, Literal[16]], 6), ('use_delta_flag', c.Array[uint8_t, Literal[16]], 22), ('num_negative_pics', uint8_t, 38), ('num_positive_pics', uint8_t, 39), ('delta_poc_s0_minus1', c.Array[uint16_t, Literal[16]], 40), ('used_by_curr_pic_s0_flag', c.Array[uint8_t, Literal[16]], 72), ('delta_poc_s1_minus1', c.Array[uint16_t, Literal[16]], 88), ('used_by_curr_pic_s1_flag', c.Array[uint8_t, Literal[16]], 120)])
|
||||
H265RawSTRefPicSet: TypeAlias = struct_H265RawSTRefPicSet
|
||||
@c.record
|
||||
class struct_H265RawScalingList(c.Struct):
|
||||
SIZE = 1632
|
||||
scaling_list_pred_mode_flag: Annotated[c.Array[c.Array[uint8_t, Literal[6]], Literal[4]], 0]
|
||||
scaling_list_pred_matrix_id_delta: Annotated[c.Array[c.Array[uint8_t, Literal[6]], Literal[4]], 24]
|
||||
scaling_list_dc_coef_minus8: Annotated[c.Array[c.Array[int16_t, Literal[6]], Literal[4]], 48]
|
||||
scaling_list_delta_coeff: Annotated[c.Array[c.Array[c.Array[int8_t, Literal[64]], Literal[6]], Literal[4]], 96]
|
||||
int16_t: TypeAlias = Annotated[int, ctypes.c_int16]
|
||||
int8_t: TypeAlias = Annotated[int, ctypes.c_byte]
|
||||
scaling_list_pred_mode_flag: c.Array[c.Array[ctypes.c_ubyte, Literal[6]], Literal[4]]
|
||||
scaling_list_pred_matrix_id_delta: c.Array[c.Array[ctypes.c_ubyte, Literal[6]], Literal[4]]
|
||||
scaling_list_dc_coef_minus8: c.Array[c.Array[ctypes.c_int16, Literal[6]], Literal[4]]
|
||||
scaling_list_delta_coeff: c.Array[c.Array[c.Array[ctypes.c_byte, Literal[64]], Literal[6]], Literal[4]]
|
||||
int16_t: TypeAlias = ctypes.c_int16
|
||||
int8_t: TypeAlias = ctypes.c_byte
|
||||
struct_H265RawScalingList.register_fields([('scaling_list_pred_mode_flag', c.Array[c.Array[uint8_t, Literal[6]], Literal[4]], 0), ('scaling_list_pred_matrix_id_delta', c.Array[c.Array[uint8_t, Literal[6]], Literal[4]], 24), ('scaling_list_dc_coef_minus8', c.Array[c.Array[int16_t, Literal[6]], Literal[4]], 48), ('scaling_list_delta_coeff', c.Array[c.Array[c.Array[int8_t, Literal[64]], Literal[6]], Literal[4]], 96)])
|
||||
H265RawScalingList: TypeAlias = struct_H265RawScalingList
|
||||
class struct_H265RawSPS(c.Struct): SIZE = 0
|
||||
class struct_H265RawSPS(c.Struct): pass
|
||||
H265RawSPS: TypeAlias = struct_H265RawSPS
|
||||
class struct_H265RawPPS(c.Struct): SIZE = 0
|
||||
class struct_H265RawPPS(c.Struct): pass
|
||||
H265RawPPS: TypeAlias = struct_H265RawPPS
|
||||
@c.record
|
||||
class struct_H265RawAUD(c.Struct):
|
||||
SIZE = 4
|
||||
nal_unit_header: Annotated[H265RawNALUnitHeader, 0]
|
||||
pic_type: Annotated[uint8_t, 3]
|
||||
nal_unit_header: struct_H265RawNALUnitHeader
|
||||
pic_type: int
|
||||
struct_H265RawAUD.register_fields([('nal_unit_header', H265RawNALUnitHeader, 0), ('pic_type', uint8_t, 3)])
|
||||
H265RawAUD: TypeAlias = struct_H265RawAUD
|
||||
@c.record
|
||||
class struct_H265RawSliceHeader(c.Struct):
|
||||
SIZE = 11772
|
||||
nal_unit_header: Annotated[H265RawNALUnitHeader, 0]
|
||||
first_slice_segment_in_pic_flag: Annotated[uint8_t, 3]
|
||||
no_output_of_prior_pics_flag: Annotated[uint8_t, 4]
|
||||
slice_pic_parameter_set_id: Annotated[uint8_t, 5]
|
||||
dependent_slice_segment_flag: Annotated[uint8_t, 6]
|
||||
slice_segment_address: Annotated[uint16_t, 8]
|
||||
slice_reserved_flag: Annotated[c.Array[uint8_t, Literal[8]], 10]
|
||||
slice_type: Annotated[uint8_t, 18]
|
||||
pic_output_flag: Annotated[uint8_t, 19]
|
||||
colour_plane_id: Annotated[uint8_t, 20]
|
||||
slice_pic_order_cnt_lsb: Annotated[uint16_t, 22]
|
||||
short_term_ref_pic_set_sps_flag: Annotated[uint8_t, 24]
|
||||
short_term_ref_pic_set: Annotated[H265RawSTRefPicSet, 26]
|
||||
short_term_ref_pic_set_idx: Annotated[uint8_t, 162]
|
||||
num_long_term_sps: Annotated[uint8_t, 163]
|
||||
num_long_term_pics: Annotated[uint8_t, 164]
|
||||
lt_idx_sps: Annotated[c.Array[uint8_t, Literal[16]], 165]
|
||||
poc_lsb_lt: Annotated[c.Array[uint8_t, Literal[16]], 181]
|
||||
used_by_curr_pic_lt_flag: Annotated[c.Array[uint8_t, Literal[16]], 197]
|
||||
delta_poc_msb_present_flag: Annotated[c.Array[uint8_t, Literal[16]], 213]
|
||||
delta_poc_msb_cycle_lt: Annotated[c.Array[uint32_t, Literal[16]], 232]
|
||||
slice_temporal_mvp_enabled_flag: Annotated[uint8_t, 296]
|
||||
slice_sao_luma_flag: Annotated[uint8_t, 297]
|
||||
slice_sao_chroma_flag: Annotated[uint8_t, 298]
|
||||
num_ref_idx_active_override_flag: Annotated[uint8_t, 299]
|
||||
num_ref_idx_l0_active_minus1: Annotated[uint8_t, 300]
|
||||
num_ref_idx_l1_active_minus1: Annotated[uint8_t, 301]
|
||||
ref_pic_list_modification_flag_l0: Annotated[uint8_t, 302]
|
||||
list_entry_l0: Annotated[c.Array[uint8_t, Literal[16]], 303]
|
||||
ref_pic_list_modification_flag_l1: Annotated[uint8_t, 319]
|
||||
list_entry_l1: Annotated[c.Array[uint8_t, Literal[16]], 320]
|
||||
mvd_l1_zero_flag: Annotated[uint8_t, 336]
|
||||
cabac_init_flag: Annotated[uint8_t, 337]
|
||||
collocated_from_l0_flag: Annotated[uint8_t, 338]
|
||||
collocated_ref_idx: Annotated[uint8_t, 339]
|
||||
luma_log2_weight_denom: Annotated[uint8_t, 340]
|
||||
delta_chroma_log2_weight_denom: Annotated[int8_t, 341]
|
||||
luma_weight_l0_flag: Annotated[c.Array[uint8_t, Literal[16]], 342]
|
||||
chroma_weight_l0_flag: Annotated[c.Array[uint8_t, Literal[16]], 358]
|
||||
delta_luma_weight_l0: Annotated[c.Array[int8_t, Literal[16]], 374]
|
||||
luma_offset_l0: Annotated[c.Array[int16_t, Literal[16]], 390]
|
||||
delta_chroma_weight_l0: Annotated[c.Array[c.Array[int8_t, Literal[2]], Literal[16]], 422]
|
||||
chroma_offset_l0: Annotated[c.Array[c.Array[int16_t, Literal[2]], Literal[16]], 454]
|
||||
luma_weight_l1_flag: Annotated[c.Array[uint8_t, Literal[16]], 518]
|
||||
chroma_weight_l1_flag: Annotated[c.Array[uint8_t, Literal[16]], 534]
|
||||
delta_luma_weight_l1: Annotated[c.Array[int8_t, Literal[16]], 550]
|
||||
luma_offset_l1: Annotated[c.Array[int16_t, Literal[16]], 566]
|
||||
delta_chroma_weight_l1: Annotated[c.Array[c.Array[int8_t, Literal[2]], Literal[16]], 598]
|
||||
chroma_offset_l1: Annotated[c.Array[c.Array[int16_t, Literal[2]], Literal[16]], 630]
|
||||
five_minus_max_num_merge_cand: Annotated[uint8_t, 694]
|
||||
use_integer_mv_flag: Annotated[uint8_t, 695]
|
||||
slice_qp_delta: Annotated[int8_t, 696]
|
||||
slice_cb_qp_offset: Annotated[int8_t, 697]
|
||||
slice_cr_qp_offset: Annotated[int8_t, 698]
|
||||
slice_act_y_qp_offset: Annotated[int8_t, 699]
|
||||
slice_act_cb_qp_offset: Annotated[int8_t, 700]
|
||||
slice_act_cr_qp_offset: Annotated[int8_t, 701]
|
||||
cu_chroma_qp_offset_enabled_flag: Annotated[uint8_t, 702]
|
||||
deblocking_filter_override_flag: Annotated[uint8_t, 703]
|
||||
slice_deblocking_filter_disabled_flag: Annotated[uint8_t, 704]
|
||||
slice_beta_offset_div2: Annotated[int8_t, 705]
|
||||
slice_tc_offset_div2: Annotated[int8_t, 706]
|
||||
slice_loop_filter_across_slices_enabled_flag: Annotated[uint8_t, 707]
|
||||
num_entry_point_offsets: Annotated[uint16_t, 708]
|
||||
offset_len_minus1: Annotated[uint8_t, 710]
|
||||
entry_point_offset_minus1: Annotated[c.Array[uint32_t, Literal[2700]], 712]
|
||||
slice_segment_header_extension_length: Annotated[uint16_t, 11512]
|
||||
slice_segment_header_extension_data_byte: Annotated[c.Array[uint8_t, Literal[256]], 11514]
|
||||
nal_unit_header: struct_H265RawNALUnitHeader
|
||||
first_slice_segment_in_pic_flag: int
|
||||
no_output_of_prior_pics_flag: int
|
||||
slice_pic_parameter_set_id: int
|
||||
dependent_slice_segment_flag: int
|
||||
slice_segment_address: int
|
||||
slice_reserved_flag: c.Array[ctypes.c_ubyte, Literal[8]]
|
||||
slice_type: int
|
||||
pic_output_flag: int
|
||||
colour_plane_id: int
|
||||
slice_pic_order_cnt_lsb: int
|
||||
short_term_ref_pic_set_sps_flag: int
|
||||
short_term_ref_pic_set: struct_H265RawSTRefPicSet
|
||||
short_term_ref_pic_set_idx: int
|
||||
num_long_term_sps: int
|
||||
num_long_term_pics: int
|
||||
lt_idx_sps: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
poc_lsb_lt: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
used_by_curr_pic_lt_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
delta_poc_msb_present_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
delta_poc_msb_cycle_lt: c.Array[ctypes.c_uint32, Literal[16]]
|
||||
slice_temporal_mvp_enabled_flag: int
|
||||
slice_sao_luma_flag: int
|
||||
slice_sao_chroma_flag: int
|
||||
num_ref_idx_active_override_flag: int
|
||||
num_ref_idx_l0_active_minus1: int
|
||||
num_ref_idx_l1_active_minus1: int
|
||||
ref_pic_list_modification_flag_l0: int
|
||||
list_entry_l0: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
ref_pic_list_modification_flag_l1: int
|
||||
list_entry_l1: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
mvd_l1_zero_flag: int
|
||||
cabac_init_flag: int
|
||||
collocated_from_l0_flag: int
|
||||
collocated_ref_idx: int
|
||||
luma_log2_weight_denom: int
|
||||
delta_chroma_log2_weight_denom: int
|
||||
luma_weight_l0_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
chroma_weight_l0_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
delta_luma_weight_l0: c.Array[ctypes.c_byte, Literal[16]]
|
||||
luma_offset_l0: c.Array[ctypes.c_int16, Literal[16]]
|
||||
delta_chroma_weight_l0: c.Array[c.Array[ctypes.c_byte, Literal[2]], Literal[16]]
|
||||
chroma_offset_l0: c.Array[c.Array[ctypes.c_int16, Literal[2]], Literal[16]]
|
||||
luma_weight_l1_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
chroma_weight_l1_flag: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
delta_luma_weight_l1: c.Array[ctypes.c_byte, Literal[16]]
|
||||
luma_offset_l1: c.Array[ctypes.c_int16, Literal[16]]
|
||||
delta_chroma_weight_l1: c.Array[c.Array[ctypes.c_byte, Literal[2]], Literal[16]]
|
||||
chroma_offset_l1: c.Array[c.Array[ctypes.c_int16, Literal[2]], Literal[16]]
|
||||
five_minus_max_num_merge_cand: int
|
||||
use_integer_mv_flag: int
|
||||
slice_qp_delta: int
|
||||
slice_cb_qp_offset: int
|
||||
slice_cr_qp_offset: int
|
||||
slice_act_y_qp_offset: int
|
||||
slice_act_cb_qp_offset: int
|
||||
slice_act_cr_qp_offset: int
|
||||
cu_chroma_qp_offset_enabled_flag: int
|
||||
deblocking_filter_override_flag: int
|
||||
slice_deblocking_filter_disabled_flag: int
|
||||
slice_beta_offset_div2: int
|
||||
slice_tc_offset_div2: int
|
||||
slice_loop_filter_across_slices_enabled_flag: int
|
||||
num_entry_point_offsets: int
|
||||
offset_len_minus1: int
|
||||
entry_point_offset_minus1: c.Array[ctypes.c_uint32, Literal[2700]]
|
||||
slice_segment_header_extension_length: int
|
||||
slice_segment_header_extension_data_byte: c.Array[ctypes.c_ubyte, Literal[256]]
|
||||
struct_H265RawSliceHeader.register_fields([('nal_unit_header', H265RawNALUnitHeader, 0), ('first_slice_segment_in_pic_flag', uint8_t, 3), ('no_output_of_prior_pics_flag', uint8_t, 4), ('slice_pic_parameter_set_id', uint8_t, 5), ('dependent_slice_segment_flag', uint8_t, 6), ('slice_segment_address', uint16_t, 8), ('slice_reserved_flag', c.Array[uint8_t, Literal[8]], 10), ('slice_type', uint8_t, 18), ('pic_output_flag', uint8_t, 19), ('colour_plane_id', uint8_t, 20), ('slice_pic_order_cnt_lsb', uint16_t, 22), ('short_term_ref_pic_set_sps_flag', uint8_t, 24), ('short_term_ref_pic_set', H265RawSTRefPicSet, 26), ('short_term_ref_pic_set_idx', uint8_t, 162), ('num_long_term_sps', uint8_t, 163), ('num_long_term_pics', uint8_t, 164), ('lt_idx_sps', c.Array[uint8_t, Literal[16]], 165), ('poc_lsb_lt', c.Array[uint8_t, Literal[16]], 181), ('used_by_curr_pic_lt_flag', c.Array[uint8_t, Literal[16]], 197), ('delta_poc_msb_present_flag', c.Array[uint8_t, Literal[16]], 213), ('delta_poc_msb_cycle_lt', c.Array[uint32_t, Literal[16]], 232), ('slice_temporal_mvp_enabled_flag', uint8_t, 296), ('slice_sao_luma_flag', uint8_t, 297), ('slice_sao_chroma_flag', uint8_t, 298), ('num_ref_idx_active_override_flag', uint8_t, 299), ('num_ref_idx_l0_active_minus1', uint8_t, 300), ('num_ref_idx_l1_active_minus1', uint8_t, 301), ('ref_pic_list_modification_flag_l0', uint8_t, 302), ('list_entry_l0', c.Array[uint8_t, Literal[16]], 303), ('ref_pic_list_modification_flag_l1', uint8_t, 319), ('list_entry_l1', c.Array[uint8_t, Literal[16]], 320), ('mvd_l1_zero_flag', uint8_t, 336), ('cabac_init_flag', uint8_t, 337), ('collocated_from_l0_flag', uint8_t, 338), ('collocated_ref_idx', uint8_t, 339), ('luma_log2_weight_denom', uint8_t, 340), ('delta_chroma_log2_weight_denom', int8_t, 341), ('luma_weight_l0_flag', c.Array[uint8_t, Literal[16]], 342), ('chroma_weight_l0_flag', c.Array[uint8_t, Literal[16]], 358), ('delta_luma_weight_l0', c.Array[int8_t, Literal[16]], 374), ('luma_offset_l0', c.Array[int16_t, Literal[16]], 390), ('delta_chroma_weight_l0', c.Array[c.Array[int8_t, Literal[2]], Literal[16]], 422), ('chroma_offset_l0', c.Array[c.Array[int16_t, Literal[2]], Literal[16]], 454), ('luma_weight_l1_flag', c.Array[uint8_t, Literal[16]], 518), ('chroma_weight_l1_flag', c.Array[uint8_t, Literal[16]], 534), ('delta_luma_weight_l1', c.Array[int8_t, Literal[16]], 550), ('luma_offset_l1', c.Array[int16_t, Literal[16]], 566), ('delta_chroma_weight_l1', c.Array[c.Array[int8_t, Literal[2]], Literal[16]], 598), ('chroma_offset_l1', c.Array[c.Array[int16_t, Literal[2]], Literal[16]], 630), ('five_minus_max_num_merge_cand', uint8_t, 694), ('use_integer_mv_flag', uint8_t, 695), ('slice_qp_delta', int8_t, 696), ('slice_cb_qp_offset', int8_t, 697), ('slice_cr_qp_offset', int8_t, 698), ('slice_act_y_qp_offset', int8_t, 699), ('slice_act_cb_qp_offset', int8_t, 700), ('slice_act_cr_qp_offset', int8_t, 701), ('cu_chroma_qp_offset_enabled_flag', uint8_t, 702), ('deblocking_filter_override_flag', uint8_t, 703), ('slice_deblocking_filter_disabled_flag', uint8_t, 704), ('slice_beta_offset_div2', int8_t, 705), ('slice_tc_offset_div2', int8_t, 706), ('slice_loop_filter_across_slices_enabled_flag', uint8_t, 707), ('num_entry_point_offsets', uint16_t, 708), ('offset_len_minus1', uint8_t, 710), ('entry_point_offset_minus1', c.Array[uint32_t, Literal[2700]], 712), ('slice_segment_header_extension_length', uint16_t, 11512), ('slice_segment_header_extension_data_byte', c.Array[uint8_t, Literal[256]], 11514)])
|
||||
H265RawSliceHeader: TypeAlias = struct_H265RawSliceHeader
|
||||
class struct_H265RawSlice(c.Struct): SIZE = 0
|
||||
class struct_H265RawSlice(c.Struct): pass
|
||||
H265RawSlice: TypeAlias = struct_H265RawSlice
|
||||
@c.record
|
||||
class struct_H265RawSEIBufferingPeriod(c.Struct):
|
||||
SIZE = 1048
|
||||
bp_seq_parameter_set_id: Annotated[uint8_t, 0]
|
||||
irap_cpb_params_present_flag: Annotated[uint8_t, 1]
|
||||
cpb_delay_offset: Annotated[uint32_t, 4]
|
||||
dpb_delay_offset: Annotated[uint32_t, 8]
|
||||
concatenation_flag: Annotated[uint8_t, 12]
|
||||
au_cpb_removal_delay_delta_minus1: Annotated[uint32_t, 16]
|
||||
nal_initial_cpb_removal_delay: Annotated[c.Array[uint32_t, Literal[32]], 20]
|
||||
nal_initial_cpb_removal_offset: Annotated[c.Array[uint32_t, Literal[32]], 148]
|
||||
nal_initial_alt_cpb_removal_delay: Annotated[c.Array[uint32_t, Literal[32]], 276]
|
||||
nal_initial_alt_cpb_removal_offset: Annotated[c.Array[uint32_t, Literal[32]], 404]
|
||||
vcl_initial_cpb_removal_delay: Annotated[c.Array[uint32_t, Literal[32]], 532]
|
||||
vcl_initial_cpb_removal_offset: Annotated[c.Array[uint32_t, Literal[32]], 660]
|
||||
vcl_initial_alt_cpb_removal_delay: Annotated[c.Array[uint32_t, Literal[32]], 788]
|
||||
vcl_initial_alt_cpb_removal_offset: Annotated[c.Array[uint32_t, Literal[32]], 916]
|
||||
use_alt_cpb_params_flag: Annotated[uint8_t, 1044]
|
||||
bp_seq_parameter_set_id: int
|
||||
irap_cpb_params_present_flag: int
|
||||
cpb_delay_offset: int
|
||||
dpb_delay_offset: int
|
||||
concatenation_flag: int
|
||||
au_cpb_removal_delay_delta_minus1: int
|
||||
nal_initial_cpb_removal_delay: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
nal_initial_cpb_removal_offset: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
nal_initial_alt_cpb_removal_delay: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
nal_initial_alt_cpb_removal_offset: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
vcl_initial_cpb_removal_delay: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
vcl_initial_cpb_removal_offset: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
vcl_initial_alt_cpb_removal_delay: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
vcl_initial_alt_cpb_removal_offset: c.Array[ctypes.c_uint32, Literal[32]]
|
||||
use_alt_cpb_params_flag: int
|
||||
struct_H265RawSEIBufferingPeriod.register_fields([('bp_seq_parameter_set_id', uint8_t, 0), ('irap_cpb_params_present_flag', uint8_t, 1), ('cpb_delay_offset', uint32_t, 4), ('dpb_delay_offset', uint32_t, 8), ('concatenation_flag', uint8_t, 12), ('au_cpb_removal_delay_delta_minus1', uint32_t, 16), ('nal_initial_cpb_removal_delay', c.Array[uint32_t, Literal[32]], 20), ('nal_initial_cpb_removal_offset', c.Array[uint32_t, Literal[32]], 148), ('nal_initial_alt_cpb_removal_delay', c.Array[uint32_t, Literal[32]], 276), ('nal_initial_alt_cpb_removal_offset', c.Array[uint32_t, Literal[32]], 404), ('vcl_initial_cpb_removal_delay', c.Array[uint32_t, Literal[32]], 532), ('vcl_initial_cpb_removal_offset', c.Array[uint32_t, Literal[32]], 660), ('vcl_initial_alt_cpb_removal_delay', c.Array[uint32_t, Literal[32]], 788), ('vcl_initial_alt_cpb_removal_offset', c.Array[uint32_t, Literal[32]], 916), ('use_alt_cpb_params_flag', uint8_t, 1044)])
|
||||
H265RawSEIBufferingPeriod: TypeAlias = struct_H265RawSEIBufferingPeriod
|
||||
@c.record
|
||||
class struct_H265RawSEIPicTiming(c.Struct):
|
||||
SIZE = 3624
|
||||
pic_struct: Annotated[uint8_t, 0]
|
||||
source_scan_type: Annotated[uint8_t, 1]
|
||||
duplicate_flag: Annotated[uint8_t, 2]
|
||||
au_cpb_removal_delay_minus1: Annotated[uint32_t, 4]
|
||||
pic_dpb_output_delay: Annotated[uint32_t, 8]
|
||||
pic_dpb_output_du_delay: Annotated[uint32_t, 12]
|
||||
num_decoding_units_minus1: Annotated[uint16_t, 16]
|
||||
du_common_cpb_removal_delay_flag: Annotated[uint8_t, 18]
|
||||
du_common_cpb_removal_delay_increment_minus1: Annotated[uint32_t, 20]
|
||||
num_nalus_in_du_minus1: Annotated[c.Array[uint16_t, Literal[600]], 24]
|
||||
du_cpb_removal_delay_increment_minus1: Annotated[c.Array[uint32_t, Literal[600]], 1224]
|
||||
pic_struct: int
|
||||
source_scan_type: int
|
||||
duplicate_flag: int
|
||||
au_cpb_removal_delay_minus1: int
|
||||
pic_dpb_output_delay: int
|
||||
pic_dpb_output_du_delay: int
|
||||
num_decoding_units_minus1: int
|
||||
du_common_cpb_removal_delay_flag: int
|
||||
du_common_cpb_removal_delay_increment_minus1: int
|
||||
num_nalus_in_du_minus1: c.Array[ctypes.c_uint16, Literal[600]]
|
||||
du_cpb_removal_delay_increment_minus1: c.Array[ctypes.c_uint32, Literal[600]]
|
||||
struct_H265RawSEIPicTiming.register_fields([('pic_struct', uint8_t, 0), ('source_scan_type', uint8_t, 1), ('duplicate_flag', uint8_t, 2), ('au_cpb_removal_delay_minus1', uint32_t, 4), ('pic_dpb_output_delay', uint32_t, 8), ('pic_dpb_output_du_delay', uint32_t, 12), ('num_decoding_units_minus1', uint16_t, 16), ('du_common_cpb_removal_delay_flag', uint8_t, 18), ('du_common_cpb_removal_delay_increment_minus1', uint32_t, 20), ('num_nalus_in_du_minus1', c.Array[uint16_t, Literal[600]], 24), ('du_cpb_removal_delay_increment_minus1', c.Array[uint32_t, Literal[600]], 1224)])
|
||||
H265RawSEIPicTiming: TypeAlias = struct_H265RawSEIPicTiming
|
||||
@c.record
|
||||
class struct_H265RawSEIPanScanRect(c.Struct):
|
||||
SIZE = 60
|
||||
pan_scan_rect_id: Annotated[uint32_t, 0]
|
||||
pan_scan_rect_cancel_flag: Annotated[uint8_t, 4]
|
||||
pan_scan_cnt_minus1: Annotated[uint8_t, 5]
|
||||
pan_scan_rect_left_offset: Annotated[c.Array[int32_t, Literal[3]], 8]
|
||||
pan_scan_rect_right_offset: Annotated[c.Array[int32_t, Literal[3]], 20]
|
||||
pan_scan_rect_top_offset: Annotated[c.Array[int32_t, Literal[3]], 32]
|
||||
pan_scan_rect_bottom_offset: Annotated[c.Array[int32_t, Literal[3]], 44]
|
||||
pan_scan_rect_persistence_flag: Annotated[uint16_t, 56]
|
||||
int32_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
pan_scan_rect_id: int
|
||||
pan_scan_rect_cancel_flag: int
|
||||
pan_scan_cnt_minus1: int
|
||||
pan_scan_rect_left_offset: c.Array[ctypes.c_int32, Literal[3]]
|
||||
pan_scan_rect_right_offset: c.Array[ctypes.c_int32, Literal[3]]
|
||||
pan_scan_rect_top_offset: c.Array[ctypes.c_int32, Literal[3]]
|
||||
pan_scan_rect_bottom_offset: c.Array[ctypes.c_int32, Literal[3]]
|
||||
pan_scan_rect_persistence_flag: int
|
||||
int32_t: TypeAlias = ctypes.c_int32
|
||||
struct_H265RawSEIPanScanRect.register_fields([('pan_scan_rect_id', uint32_t, 0), ('pan_scan_rect_cancel_flag', uint8_t, 4), ('pan_scan_cnt_minus1', uint8_t, 5), ('pan_scan_rect_left_offset', c.Array[int32_t, Literal[3]], 8), ('pan_scan_rect_right_offset', c.Array[int32_t, Literal[3]], 20), ('pan_scan_rect_top_offset', c.Array[int32_t, Literal[3]], 32), ('pan_scan_rect_bottom_offset', c.Array[int32_t, Literal[3]], 44), ('pan_scan_rect_persistence_flag', uint16_t, 56)])
|
||||
H265RawSEIPanScanRect: TypeAlias = struct_H265RawSEIPanScanRect
|
||||
@c.record
|
||||
class struct_H265RawSEIRecoveryPoint(c.Struct):
|
||||
SIZE = 4
|
||||
recovery_poc_cnt: Annotated[int16_t, 0]
|
||||
exact_match_flag: Annotated[uint8_t, 2]
|
||||
broken_link_flag: Annotated[uint8_t, 3]
|
||||
recovery_poc_cnt: int
|
||||
exact_match_flag: int
|
||||
broken_link_flag: int
|
||||
struct_H265RawSEIRecoveryPoint.register_fields([('recovery_poc_cnt', int16_t, 0), ('exact_match_flag', uint8_t, 2), ('broken_link_flag', uint8_t, 3)])
|
||||
H265RawSEIRecoveryPoint: TypeAlias = struct_H265RawSEIRecoveryPoint
|
||||
@c.record
|
||||
class struct_H265RawFilmGrainCharacteristics(c.Struct):
|
||||
SIZE = 10774
|
||||
film_grain_characteristics_cancel_flag: Annotated[uint8_t, 0]
|
||||
film_grain_model_id: Annotated[uint8_t, 1]
|
||||
separate_colour_description_present_flag: Annotated[uint8_t, 2]
|
||||
film_grain_bit_depth_luma_minus8: Annotated[uint8_t, 3]
|
||||
film_grain_bit_depth_chroma_minus8: Annotated[uint8_t, 4]
|
||||
film_grain_full_range_flag: Annotated[uint8_t, 5]
|
||||
film_grain_colour_primaries: Annotated[uint8_t, 6]
|
||||
film_grain_transfer_characteristics: Annotated[uint8_t, 7]
|
||||
film_grain_matrix_coeffs: Annotated[uint8_t, 8]
|
||||
blending_mode_id: Annotated[uint8_t, 9]
|
||||
log2_scale_factor: Annotated[uint8_t, 10]
|
||||
comp_model_present_flag: Annotated[c.Array[uint8_t, Literal[3]], 11]
|
||||
num_intensity_intervals_minus1: Annotated[c.Array[uint8_t, Literal[3]], 14]
|
||||
num_model_values_minus1: Annotated[c.Array[uint8_t, Literal[3]], 17]
|
||||
intensity_interval_lower_bound: Annotated[c.Array[c.Array[uint8_t, Literal[256]], Literal[3]], 20]
|
||||
intensity_interval_upper_bound: Annotated[c.Array[c.Array[uint8_t, Literal[256]], Literal[3]], 788]
|
||||
comp_model_value: Annotated[c.Array[c.Array[c.Array[int16_t, Literal[6]], Literal[256]], Literal[3]], 1556]
|
||||
film_grain_characteristics_persistence_flag: Annotated[uint8_t, 10772]
|
||||
film_grain_characteristics_cancel_flag: int
|
||||
film_grain_model_id: int
|
||||
separate_colour_description_present_flag: int
|
||||
film_grain_bit_depth_luma_minus8: int
|
||||
film_grain_bit_depth_chroma_minus8: int
|
||||
film_grain_full_range_flag: int
|
||||
film_grain_colour_primaries: int
|
||||
film_grain_transfer_characteristics: int
|
||||
film_grain_matrix_coeffs: int
|
||||
blending_mode_id: int
|
||||
log2_scale_factor: int
|
||||
comp_model_present_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
num_intensity_intervals_minus1: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
num_model_values_minus1: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
intensity_interval_lower_bound: c.Array[c.Array[ctypes.c_ubyte, Literal[256]], Literal[3]]
|
||||
intensity_interval_upper_bound: c.Array[c.Array[ctypes.c_ubyte, Literal[256]], Literal[3]]
|
||||
comp_model_value: c.Array[c.Array[c.Array[ctypes.c_int16, Literal[6]], Literal[256]], Literal[3]]
|
||||
film_grain_characteristics_persistence_flag: int
|
||||
struct_H265RawFilmGrainCharacteristics.register_fields([('film_grain_characteristics_cancel_flag', uint8_t, 0), ('film_grain_model_id', uint8_t, 1), ('separate_colour_description_present_flag', uint8_t, 2), ('film_grain_bit_depth_luma_minus8', uint8_t, 3), ('film_grain_bit_depth_chroma_minus8', uint8_t, 4), ('film_grain_full_range_flag', uint8_t, 5), ('film_grain_colour_primaries', uint8_t, 6), ('film_grain_transfer_characteristics', uint8_t, 7), ('film_grain_matrix_coeffs', uint8_t, 8), ('blending_mode_id', uint8_t, 9), ('log2_scale_factor', uint8_t, 10), ('comp_model_present_flag', c.Array[uint8_t, Literal[3]], 11), ('num_intensity_intervals_minus1', c.Array[uint8_t, Literal[3]], 14), ('num_model_values_minus1', c.Array[uint8_t, Literal[3]], 17), ('intensity_interval_lower_bound', c.Array[c.Array[uint8_t, Literal[256]], Literal[3]], 20), ('intensity_interval_upper_bound', c.Array[c.Array[uint8_t, Literal[256]], Literal[3]], 788), ('comp_model_value', c.Array[c.Array[c.Array[int16_t, Literal[6]], Literal[256]], Literal[3]], 1556), ('film_grain_characteristics_persistence_flag', uint8_t, 10772)])
|
||||
H265RawFilmGrainCharacteristics: TypeAlias = struct_H265RawFilmGrainCharacteristics
|
||||
@c.record
|
||||
class struct_H265RawSEIDisplayOrientation(c.Struct):
|
||||
SIZE = 10
|
||||
display_orientation_cancel_flag: Annotated[uint8_t, 0]
|
||||
hor_flip: Annotated[uint8_t, 1]
|
||||
ver_flip: Annotated[uint8_t, 2]
|
||||
anticlockwise_rotation: Annotated[uint16_t, 4]
|
||||
display_orientation_repetition_period: Annotated[uint16_t, 6]
|
||||
display_orientation_persistence_flag: Annotated[uint8_t, 8]
|
||||
display_orientation_cancel_flag: int
|
||||
hor_flip: int
|
||||
ver_flip: int
|
||||
anticlockwise_rotation: int
|
||||
display_orientation_repetition_period: int
|
||||
display_orientation_persistence_flag: int
|
||||
struct_H265RawSEIDisplayOrientation.register_fields([('display_orientation_cancel_flag', uint8_t, 0), ('hor_flip', uint8_t, 1), ('ver_flip', uint8_t, 2), ('anticlockwise_rotation', uint16_t, 4), ('display_orientation_repetition_period', uint16_t, 6), ('display_orientation_persistence_flag', uint8_t, 8)])
|
||||
H265RawSEIDisplayOrientation: TypeAlias = struct_H265RawSEIDisplayOrientation
|
||||
@c.record
|
||||
class struct_H265RawSEIActiveParameterSets(c.Struct):
|
||||
SIZE = 83
|
||||
active_video_parameter_set_id: Annotated[uint8_t, 0]
|
||||
self_contained_cvs_flag: Annotated[uint8_t, 1]
|
||||
no_parameter_set_update_flag: Annotated[uint8_t, 2]
|
||||
num_sps_ids_minus1: Annotated[uint8_t, 3]
|
||||
active_seq_parameter_set_id: Annotated[c.Array[uint8_t, Literal[16]], 4]
|
||||
layer_sps_idx: Annotated[c.Array[uint8_t, Literal[63]], 20]
|
||||
active_video_parameter_set_id: int
|
||||
self_contained_cvs_flag: int
|
||||
no_parameter_set_update_flag: int
|
||||
num_sps_ids_minus1: int
|
||||
active_seq_parameter_set_id: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
layer_sps_idx: c.Array[ctypes.c_ubyte, Literal[63]]
|
||||
struct_H265RawSEIActiveParameterSets.register_fields([('active_video_parameter_set_id', uint8_t, 0), ('self_contained_cvs_flag', uint8_t, 1), ('no_parameter_set_update_flag', uint8_t, 2), ('num_sps_ids_minus1', uint8_t, 3), ('active_seq_parameter_set_id', c.Array[uint8_t, Literal[16]], 4), ('layer_sps_idx', c.Array[uint8_t, Literal[63]], 20)])
|
||||
H265RawSEIActiveParameterSets: TypeAlias = struct_H265RawSEIActiveParameterSets
|
||||
@c.record
|
||||
class struct_H265RawSEIDecodedPictureHash(c.Struct):
|
||||
SIZE = 68
|
||||
hash_type: Annotated[uint8_t, 0]
|
||||
picture_md5: Annotated[c.Array[c.Array[uint8_t, Literal[16]], Literal[3]], 1]
|
||||
picture_crc: Annotated[c.Array[uint16_t, Literal[3]], 50]
|
||||
picture_checksum: Annotated[c.Array[uint32_t, Literal[3]], 56]
|
||||
hash_type: int
|
||||
picture_md5: c.Array[c.Array[ctypes.c_ubyte, Literal[16]], Literal[3]]
|
||||
picture_crc: c.Array[ctypes.c_uint16, Literal[3]]
|
||||
picture_checksum: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
struct_H265RawSEIDecodedPictureHash.register_fields([('hash_type', uint8_t, 0), ('picture_md5', c.Array[c.Array[uint8_t, Literal[16]], Literal[3]], 1), ('picture_crc', c.Array[uint16_t, Literal[3]], 50), ('picture_checksum', c.Array[uint32_t, Literal[3]], 56)])
|
||||
H265RawSEIDecodedPictureHash: TypeAlias = struct_H265RawSEIDecodedPictureHash
|
||||
@c.record
|
||||
class struct_H265RawSEITimeCode(c.Struct):
|
||||
SIZE = 60
|
||||
num_clock_ts: Annotated[uint8_t, 0]
|
||||
clock_timestamp_flag: Annotated[c.Array[uint8_t, Literal[3]], 1]
|
||||
units_field_based_flag: Annotated[c.Array[uint8_t, Literal[3]], 4]
|
||||
counting_type: Annotated[c.Array[uint8_t, Literal[3]], 7]
|
||||
full_timestamp_flag: Annotated[c.Array[uint8_t, Literal[3]], 10]
|
||||
discontinuity_flag: Annotated[c.Array[uint8_t, Literal[3]], 13]
|
||||
cnt_dropped_flag: Annotated[c.Array[uint8_t, Literal[3]], 16]
|
||||
n_frames: Annotated[c.Array[uint16_t, Literal[3]], 20]
|
||||
seconds_value: Annotated[c.Array[uint8_t, Literal[3]], 26]
|
||||
minutes_value: Annotated[c.Array[uint8_t, Literal[3]], 29]
|
||||
hours_value: Annotated[c.Array[uint8_t, Literal[3]], 32]
|
||||
seconds_flag: Annotated[c.Array[uint8_t, Literal[3]], 35]
|
||||
minutes_flag: Annotated[c.Array[uint8_t, Literal[3]], 38]
|
||||
hours_flag: Annotated[c.Array[uint8_t, Literal[3]], 41]
|
||||
time_offset_length: Annotated[c.Array[uint8_t, Literal[3]], 44]
|
||||
time_offset_value: Annotated[c.Array[int32_t, Literal[3]], 48]
|
||||
num_clock_ts: int
|
||||
clock_timestamp_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
units_field_based_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
counting_type: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
full_timestamp_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
discontinuity_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
cnt_dropped_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
n_frames: c.Array[ctypes.c_uint16, Literal[3]]
|
||||
seconds_value: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
minutes_value: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
hours_value: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
seconds_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
minutes_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
hours_flag: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
time_offset_length: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
time_offset_value: c.Array[ctypes.c_int32, Literal[3]]
|
||||
struct_H265RawSEITimeCode.register_fields([('num_clock_ts', uint8_t, 0), ('clock_timestamp_flag', c.Array[uint8_t, Literal[3]], 1), ('units_field_based_flag', c.Array[uint8_t, Literal[3]], 4), ('counting_type', c.Array[uint8_t, Literal[3]], 7), ('full_timestamp_flag', c.Array[uint8_t, Literal[3]], 10), ('discontinuity_flag', c.Array[uint8_t, Literal[3]], 13), ('cnt_dropped_flag', c.Array[uint8_t, Literal[3]], 16), ('n_frames', c.Array[uint16_t, Literal[3]], 20), ('seconds_value', c.Array[uint8_t, Literal[3]], 26), ('minutes_value', c.Array[uint8_t, Literal[3]], 29), ('hours_value', c.Array[uint8_t, Literal[3]], 32), ('seconds_flag', c.Array[uint8_t, Literal[3]], 35), ('minutes_flag', c.Array[uint8_t, Literal[3]], 38), ('hours_flag', c.Array[uint8_t, Literal[3]], 41), ('time_offset_length', c.Array[uint8_t, Literal[3]], 44), ('time_offset_value', c.Array[int32_t, Literal[3]], 48)])
|
||||
H265RawSEITimeCode: TypeAlias = struct_H265RawSEITimeCode
|
||||
@c.record
|
||||
class struct_H265RawSEIAlphaChannelInfo(c.Struct):
|
||||
SIZE = 12
|
||||
alpha_channel_cancel_flag: Annotated[uint8_t, 0]
|
||||
alpha_channel_use_idc: Annotated[uint8_t, 1]
|
||||
alpha_channel_bit_depth_minus8: Annotated[uint8_t, 2]
|
||||
alpha_transparent_value: Annotated[uint16_t, 4]
|
||||
alpha_opaque_value: Annotated[uint16_t, 6]
|
||||
alpha_channel_incr_flag: Annotated[uint8_t, 8]
|
||||
alpha_channel_clip_flag: Annotated[uint8_t, 9]
|
||||
alpha_channel_clip_type_flag: Annotated[uint8_t, 10]
|
||||
alpha_channel_cancel_flag: int
|
||||
alpha_channel_use_idc: int
|
||||
alpha_channel_bit_depth_minus8: int
|
||||
alpha_transparent_value: int
|
||||
alpha_opaque_value: int
|
||||
alpha_channel_incr_flag: int
|
||||
alpha_channel_clip_flag: int
|
||||
alpha_channel_clip_type_flag: int
|
||||
struct_H265RawSEIAlphaChannelInfo.register_fields([('alpha_channel_cancel_flag', uint8_t, 0), ('alpha_channel_use_idc', uint8_t, 1), ('alpha_channel_bit_depth_minus8', uint8_t, 2), ('alpha_transparent_value', uint16_t, 4), ('alpha_opaque_value', uint16_t, 6), ('alpha_channel_incr_flag', uint8_t, 8), ('alpha_channel_clip_flag', uint8_t, 9), ('alpha_channel_clip_type_flag', uint8_t, 10)])
|
||||
H265RawSEIAlphaChannelInfo: TypeAlias = struct_H265RawSEIAlphaChannelInfo
|
||||
@c.record
|
||||
class struct_H265RawSEI3DReferenceDisplaysInfo(c.Struct):
|
||||
SIZE = 358
|
||||
prec_ref_display_width: Annotated[uint8_t, 0]
|
||||
ref_viewing_distance_flag: Annotated[uint8_t, 1]
|
||||
prec_ref_viewing_dist: Annotated[uint8_t, 2]
|
||||
num_ref_displays_minus1: Annotated[uint8_t, 3]
|
||||
left_view_id: Annotated[c.Array[uint16_t, Literal[32]], 4]
|
||||
right_view_id: Annotated[c.Array[uint16_t, Literal[32]], 68]
|
||||
exponent_ref_display_width: Annotated[c.Array[uint8_t, Literal[32]], 132]
|
||||
mantissa_ref_display_width: Annotated[c.Array[uint8_t, Literal[32]], 164]
|
||||
exponent_ref_viewing_distance: Annotated[c.Array[uint8_t, Literal[32]], 196]
|
||||
mantissa_ref_viewing_distance: Annotated[c.Array[uint8_t, Literal[32]], 228]
|
||||
additional_shift_present_flag: Annotated[c.Array[uint8_t, Literal[32]], 260]
|
||||
num_sample_shift_plus512: Annotated[c.Array[uint16_t, Literal[32]], 292]
|
||||
three_dimensional_reference_displays_extension_flag: Annotated[uint8_t, 356]
|
||||
prec_ref_display_width: int
|
||||
ref_viewing_distance_flag: int
|
||||
prec_ref_viewing_dist: int
|
||||
num_ref_displays_minus1: int
|
||||
left_view_id: c.Array[ctypes.c_uint16, Literal[32]]
|
||||
right_view_id: c.Array[ctypes.c_uint16, Literal[32]]
|
||||
exponent_ref_display_width: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
mantissa_ref_display_width: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
exponent_ref_viewing_distance: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
mantissa_ref_viewing_distance: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
additional_shift_present_flag: c.Array[ctypes.c_ubyte, Literal[32]]
|
||||
num_sample_shift_plus512: c.Array[ctypes.c_uint16, Literal[32]]
|
||||
three_dimensional_reference_displays_extension_flag: int
|
||||
struct_H265RawSEI3DReferenceDisplaysInfo.register_fields([('prec_ref_display_width', uint8_t, 0), ('ref_viewing_distance_flag', uint8_t, 1), ('prec_ref_viewing_dist', uint8_t, 2), ('num_ref_displays_minus1', uint8_t, 3), ('left_view_id', c.Array[uint16_t, Literal[32]], 4), ('right_view_id', c.Array[uint16_t, Literal[32]], 68), ('exponent_ref_display_width', c.Array[uint8_t, Literal[32]], 132), ('mantissa_ref_display_width', c.Array[uint8_t, Literal[32]], 164), ('exponent_ref_viewing_distance', c.Array[uint8_t, Literal[32]], 196), ('mantissa_ref_viewing_distance', c.Array[uint8_t, Literal[32]], 228), ('additional_shift_present_flag', c.Array[uint8_t, Literal[32]], 260), ('num_sample_shift_plus512', c.Array[uint16_t, Literal[32]], 292), ('three_dimensional_reference_displays_extension_flag', uint8_t, 356)])
|
||||
H265RawSEI3DReferenceDisplaysInfo: TypeAlias = struct_H265RawSEI3DReferenceDisplaysInfo
|
||||
@c.record
|
||||
class struct_H265RawSEI(c.Struct):
|
||||
SIZE = 24
|
||||
nal_unit_header: Annotated[H265RawNALUnitHeader, 0]
|
||||
message_list: Annotated[SEIRawMessageList, 8]
|
||||
nal_unit_header: struct_H265RawNALUnitHeader
|
||||
message_list: struct_SEIRawMessageList
|
||||
@c.record
|
||||
class struct_SEIRawMessageList(c.Struct):
|
||||
SIZE = 16
|
||||
messages: Annotated[c.POINTER[SEIRawMessage], 0]
|
||||
nb_messages: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
nb_messages_allocated: Annotated[Annotated[int, ctypes.c_int32], 12]
|
||||
messages: c.POINTER[struct_SEIRawMessage]
|
||||
nb_messages: int
|
||||
nb_messages_allocated: int
|
||||
SEIRawMessageList: TypeAlias = struct_SEIRawMessageList
|
||||
@c.record
|
||||
class struct_SEIRawMessage(c.Struct):
|
||||
SIZE = 40
|
||||
payload_type: Annotated[uint32_t, 0]
|
||||
payload_size: Annotated[uint32_t, 4]
|
||||
payload: Annotated[ctypes.c_void_p, 8]
|
||||
payload_ref: Annotated[ctypes.c_void_p, 16]
|
||||
extension_data: Annotated[c.POINTER[uint8_t], 24]
|
||||
extension_bit_length: Annotated[size_t, 32]
|
||||
payload_type: int
|
||||
payload_size: int
|
||||
payload: ctypes.c_void_p
|
||||
payload_ref: ctypes.c_void_p
|
||||
extension_data: c.POINTER[ctypes.c_ubyte]
|
||||
extension_bit_length: int
|
||||
SEIRawMessage: TypeAlias = struct_SEIRawMessage
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
struct_SEIRawMessage.register_fields([('payload_type', uint32_t, 0), ('payload_size', uint32_t, 4), ('payload', ctypes.c_void_p, 8), ('payload_ref', ctypes.c_void_p, 16), ('extension_data', c.POINTER[uint8_t], 24), ('extension_bit_length', size_t, 32)])
|
||||
struct_SEIRawMessageList.register_fields([('messages', c.POINTER[SEIRawMessage], 0), ('nb_messages', ctypes.c_int32, 8), ('nb_messages_allocated', ctypes.c_int32, 12)])
|
||||
struct_H265RawSEI.register_fields([('nal_unit_header', H265RawNALUnitHeader, 0), ('message_list', SEIRawMessageList, 8)])
|
||||
H265RawSEI: TypeAlias = struct_H265RawSEI
|
||||
@c.record
|
||||
class struct_H265RawFiller(c.Struct):
|
||||
SIZE = 8
|
||||
nal_unit_header: Annotated[H265RawNALUnitHeader, 0]
|
||||
filler_size: Annotated[uint32_t, 4]
|
||||
nal_unit_header: struct_H265RawNALUnitHeader
|
||||
filler_size: int
|
||||
struct_H265RawFiller.register_fields([('nal_unit_header', H265RawNALUnitHeader, 0), ('filler_size', uint32_t, 4)])
|
||||
H265RawFiller: TypeAlias = struct_H265RawFiller
|
||||
class struct_CodedBitstreamH265Context(c.Struct): SIZE = 0
|
||||
class struct_CodedBitstreamH265Context(c.Struct): pass
|
||||
CodedBitstreamH265Context: TypeAlias = struct_CodedBitstreamH265Context
|
||||
c.init_records()
|
||||
|
|
|
|||
|
|
@ -1,272 +1,205 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
import os
|
||||
dll = c.DLL('comgr', [os.getenv('ROCM_PATH', '/opt/rocm')+'/lib/libamd_comgr.so', 'amd_comgr'])
|
||||
class amd_comgr_status_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_STATUS_SUCCESS = amd_comgr_status_s.define('AMD_COMGR_STATUS_SUCCESS', 0)
|
||||
AMD_COMGR_STATUS_ERROR = amd_comgr_status_s.define('AMD_COMGR_STATUS_ERROR', 1)
|
||||
AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT = amd_comgr_status_s.define('AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT', 2)
|
||||
AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES = amd_comgr_status_s.define('AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES', 3)
|
||||
|
||||
amd_comgr_status_t: TypeAlias = amd_comgr_status_s
|
||||
class amd_comgr_language_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_LANGUAGE_NONE = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_NONE', 0)
|
||||
AMD_COMGR_LANGUAGE_OPENCL_1_2 = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_OPENCL_1_2', 1)
|
||||
AMD_COMGR_LANGUAGE_OPENCL_2_0 = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_OPENCL_2_0', 2)
|
||||
AMD_COMGR_LANGUAGE_HC = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_HC', 3)
|
||||
AMD_COMGR_LANGUAGE_HIP = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_HIP', 4)
|
||||
AMD_COMGR_LANGUAGE_LLVM_IR = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_LLVM_IR', 5)
|
||||
AMD_COMGR_LANGUAGE_LAST = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_LAST', 5)
|
||||
|
||||
amd_comgr_language_t: TypeAlias = amd_comgr_language_s
|
||||
@dll.bind
|
||||
def amd_comgr_status_string(status:amd_comgr_status_t, status_string:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]]) -> amd_comgr_status_t: ...
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
amd_comgr_status_s: dict[int, str] = {(AMD_COMGR_STATUS_SUCCESS:=0): 'AMD_COMGR_STATUS_SUCCESS', (AMD_COMGR_STATUS_ERROR:=1): 'AMD_COMGR_STATUS_ERROR', (AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT:=2): 'AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT', (AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES:=3): 'AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES'}
|
||||
amd_comgr_status_t: TypeAlias = ctypes.c_uint32
|
||||
amd_comgr_language_s: dict[int, str] = {(AMD_COMGR_LANGUAGE_NONE:=0): 'AMD_COMGR_LANGUAGE_NONE', (AMD_COMGR_LANGUAGE_OPENCL_1_2:=1): 'AMD_COMGR_LANGUAGE_OPENCL_1_2', (AMD_COMGR_LANGUAGE_OPENCL_2_0:=2): 'AMD_COMGR_LANGUAGE_OPENCL_2_0', (AMD_COMGR_LANGUAGE_HC:=3): 'AMD_COMGR_LANGUAGE_HC', (AMD_COMGR_LANGUAGE_HIP:=4): 'AMD_COMGR_LANGUAGE_HIP', (AMD_COMGR_LANGUAGE_LLVM_IR:=5): 'AMD_COMGR_LANGUAGE_LLVM_IR', (AMD_COMGR_LANGUAGE_LAST:=5): 'AMD_COMGR_LANGUAGE_LAST'}
|
||||
amd_comgr_language_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_status_t, c.POINTER[c.POINTER[ctypes.c_char]])
|
||||
def amd_comgr_status_string(status:amd_comgr_status_t, status_string:c.POINTER[c.POINTER[ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(None, c.POINTER[size_t], c.POINTER[size_t])
|
||||
def amd_comgr_get_version(major:c.POINTER[size_t], minor:c.POINTER[size_t]) -> None: ...
|
||||
class amd_comgr_data_kind_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_DATA_KIND_UNDEF = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_UNDEF', 0)
|
||||
AMD_COMGR_DATA_KIND_SOURCE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_SOURCE', 1)
|
||||
AMD_COMGR_DATA_KIND_INCLUDE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_INCLUDE', 2)
|
||||
AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER', 3)
|
||||
AMD_COMGR_DATA_KIND_DIAGNOSTIC = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_DIAGNOSTIC', 4)
|
||||
AMD_COMGR_DATA_KIND_LOG = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_LOG', 5)
|
||||
AMD_COMGR_DATA_KIND_BC = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_BC', 6)
|
||||
AMD_COMGR_DATA_KIND_RELOCATABLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_RELOCATABLE', 7)
|
||||
AMD_COMGR_DATA_KIND_EXECUTABLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_EXECUTABLE', 8)
|
||||
AMD_COMGR_DATA_KIND_BYTES = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_BYTES', 9)
|
||||
AMD_COMGR_DATA_KIND_FATBIN = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_FATBIN', 16)
|
||||
AMD_COMGR_DATA_KIND_AR = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_AR', 17)
|
||||
AMD_COMGR_DATA_KIND_BC_BUNDLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_BC_BUNDLE', 18)
|
||||
AMD_COMGR_DATA_KIND_AR_BUNDLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_AR_BUNDLE', 19)
|
||||
AMD_COMGR_DATA_KIND_OBJ_BUNDLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_OBJ_BUNDLE', 20)
|
||||
AMD_COMGR_DATA_KIND_LAST = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_LAST', 20)
|
||||
|
||||
amd_comgr_data_kind_t: TypeAlias = amd_comgr_data_kind_s
|
||||
amd_comgr_data_kind_s: dict[int, str] = {(AMD_COMGR_DATA_KIND_UNDEF:=0): 'AMD_COMGR_DATA_KIND_UNDEF', (AMD_COMGR_DATA_KIND_SOURCE:=1): 'AMD_COMGR_DATA_KIND_SOURCE', (AMD_COMGR_DATA_KIND_INCLUDE:=2): 'AMD_COMGR_DATA_KIND_INCLUDE', (AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER:=3): 'AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER', (AMD_COMGR_DATA_KIND_DIAGNOSTIC:=4): 'AMD_COMGR_DATA_KIND_DIAGNOSTIC', (AMD_COMGR_DATA_KIND_LOG:=5): 'AMD_COMGR_DATA_KIND_LOG', (AMD_COMGR_DATA_KIND_BC:=6): 'AMD_COMGR_DATA_KIND_BC', (AMD_COMGR_DATA_KIND_RELOCATABLE:=7): 'AMD_COMGR_DATA_KIND_RELOCATABLE', (AMD_COMGR_DATA_KIND_EXECUTABLE:=8): 'AMD_COMGR_DATA_KIND_EXECUTABLE', (AMD_COMGR_DATA_KIND_BYTES:=9): 'AMD_COMGR_DATA_KIND_BYTES', (AMD_COMGR_DATA_KIND_FATBIN:=16): 'AMD_COMGR_DATA_KIND_FATBIN', (AMD_COMGR_DATA_KIND_AR:=17): 'AMD_COMGR_DATA_KIND_AR', (AMD_COMGR_DATA_KIND_BC_BUNDLE:=18): 'AMD_COMGR_DATA_KIND_BC_BUNDLE', (AMD_COMGR_DATA_KIND_AR_BUNDLE:=19): 'AMD_COMGR_DATA_KIND_AR_BUNDLE', (AMD_COMGR_DATA_KIND_OBJ_BUNDLE:=20): 'AMD_COMGR_DATA_KIND_OBJ_BUNDLE', (AMD_COMGR_DATA_KIND_LAST:=20): 'AMD_COMGR_DATA_KIND_LAST'}
|
||||
amd_comgr_data_kind_t: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class amd_comgr_data_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
handle: int
|
||||
uint64_t: TypeAlias = ctypes.c_uint64
|
||||
amd_comgr_data_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_data_t: TypeAlias = amd_comgr_data_s
|
||||
@c.record
|
||||
class amd_comgr_data_set_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_data_set_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_data_set_t: TypeAlias = amd_comgr_data_set_s
|
||||
@c.record
|
||||
class amd_comgr_action_info_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_action_info_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_action_info_t: TypeAlias = amd_comgr_action_info_s
|
||||
@c.record
|
||||
class amd_comgr_metadata_node_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_metadata_node_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_metadata_node_t: TypeAlias = amd_comgr_metadata_node_s
|
||||
@c.record
|
||||
class amd_comgr_symbol_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_symbol_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_symbol_t: TypeAlias = amd_comgr_symbol_s
|
||||
@c.record
|
||||
class amd_comgr_disassembly_info_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_disassembly_info_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_disassembly_info_t: TypeAlias = amd_comgr_disassembly_info_s
|
||||
@c.record
|
||||
class amd_comgr_symbolizer_info_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_symbolizer_info_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_symbolizer_info_t: TypeAlias = amd_comgr_symbolizer_info_s
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[size_t])
|
||||
def amd_comgr_get_isa_count(count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_isa_name(index:size_t, isa_name:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_isa_metadata(isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]], metadata:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, size_t, c.POINTER[c.POINTER[ctypes.c_char]])
|
||||
def amd_comgr_get_isa_name(index:size_t, isa_name:c.POINTER[c.POINTER[ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[ctypes.c_char], c.POINTER[amd_comgr_metadata_node_t])
|
||||
def amd_comgr_get_isa_metadata(isa_name:c.POINTER[ctypes.c_char], metadata:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_kind_t, c.POINTER[amd_comgr_data_t])
|
||||
def amd_comgr_create_data(kind:amd_comgr_data_kind_t, data:c.POINTER[amd_comgr_data_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t)
|
||||
def amd_comgr_release_data(data:amd_comgr_data_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[amd_comgr_data_kind_t])
|
||||
def amd_comgr_get_data_kind(data:amd_comgr_data_t, kind:c.POINTER[amd_comgr_data_kind_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_set_data(data:amd_comgr_data_t, size:size_t, bytes:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_set_data_from_file_slice(data:amd_comgr_data_t, file_descriptor:Annotated[int, ctypes.c_int32], offset:uint64_t, size:uint64_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_set_data_name(data:amd_comgr_data_t, name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_data(data:amd_comgr_data_t, size:c.POINTER[size_t], bytes:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_data_name(data:amd_comgr_data_t, size:c.POINTER[size_t], name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_data_isa_name(data:amd_comgr_data_t, size:c.POINTER[size_t], isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_create_symbolizer_info(code_object:amd_comgr_data_t, print_symbol_callback:c.CFUNCTYPE[None, [c.POINTER[Annotated[bytes, ctypes.c_char]], ctypes.c_void_p]], symbolizer_info:c.POINTER[amd_comgr_symbolizer_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, size_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_set_data(data:amd_comgr_data_t, size:size_t, bytes:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, ctypes.c_int32, uint64_t, uint64_t)
|
||||
def amd_comgr_set_data_from_file_slice(data:amd_comgr_data_t, file_descriptor:int, offset:uint64_t, size:uint64_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_set_data_name(data:amd_comgr_data_t, name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_data(data:amd_comgr_data_t, size:c.POINTER[size_t], bytes:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_data_name(data:amd_comgr_data_t, size:c.POINTER[size_t], name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_data_isa_name(data:amd_comgr_data_t, size:c.POINTER[size_t], isa_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p]], c.POINTER[amd_comgr_symbolizer_info_t])
|
||||
def amd_comgr_create_symbolizer_info(code_object:amd_comgr_data_t, print_symbol_callback:c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p]], symbolizer_info:c.POINTER[amd_comgr_symbolizer_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_symbolizer_info_t)
|
||||
def amd_comgr_destroy_symbolizer_info(symbolizer_info:amd_comgr_symbolizer_info_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_symbolize(symbolizer_info:amd_comgr_symbolizer_info_t, address:uint64_t, is_code:Annotated[bool, ctypes.c_bool], user_data:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_symbolizer_info_t, uint64_t, ctypes.c_bool, ctypes.c_void_p)
|
||||
def amd_comgr_symbolize(symbolizer_info:amd_comgr_symbolizer_info_t, address:uint64_t, is_code:bool, user_data:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[amd_comgr_metadata_node_t])
|
||||
def amd_comgr_get_data_metadata(data:amd_comgr_data_t, metadata:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t)
|
||||
def amd_comgr_destroy_metadata(metadata:amd_comgr_metadata_node_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[amd_comgr_data_set_t])
|
||||
def amd_comgr_create_data_set(data_set:c.POINTER[amd_comgr_data_set_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t)
|
||||
def amd_comgr_destroy_data_set(data_set:amd_comgr_data_set_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t, amd_comgr_data_t)
|
||||
def amd_comgr_data_set_add(data_set:amd_comgr_data_set_t, data:amd_comgr_data_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t, amd_comgr_data_kind_t)
|
||||
def amd_comgr_data_set_remove(data_set:amd_comgr_data_set_t, data_kind:amd_comgr_data_kind_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t, amd_comgr_data_kind_t, c.POINTER[size_t])
|
||||
def amd_comgr_action_data_count(data_set:amd_comgr_data_set_t, data_kind:amd_comgr_data_kind_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t, amd_comgr_data_kind_t, size_t, c.POINTER[amd_comgr_data_t])
|
||||
def amd_comgr_action_data_get_data(data_set:amd_comgr_data_set_t, data_kind:amd_comgr_data_kind_t, index:size_t, data:c.POINTER[amd_comgr_data_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[amd_comgr_action_info_t])
|
||||
def amd_comgr_create_action_info(action_info:c.POINTER[amd_comgr_action_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t)
|
||||
def amd_comgr_destroy_action_info(action_info:amd_comgr_action_info_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_isa_name(action_info:amd_comgr_action_info_t, isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_isa_name(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_set_isa_name(action_info:amd_comgr_action_info_t, isa_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_isa_name(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], isa_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, amd_comgr_language_t)
|
||||
def amd_comgr_action_info_set_language(action_info:amd_comgr_action_info_t, language:amd_comgr_language_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[amd_comgr_language_t])
|
||||
def amd_comgr_action_info_get_language(action_info:amd_comgr_action_info_t, language:c.POINTER[amd_comgr_language_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_options(action_info:amd_comgr_action_info_t, options:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_options(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], options:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_option_list(action_info:amd_comgr_action_info_t, options:c.Array[c.POINTER[Annotated[bytes, ctypes.c_char]], Literal[0]], count:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_set_options(action_info:amd_comgr_action_info_t, options:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_options(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], options:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.Array[c.POINTER[ctypes.c_char], Literal[0]], size_t)
|
||||
def amd_comgr_action_info_set_option_list(action_info:amd_comgr_action_info_t, options:c.Array[c.POINTER[ctypes.c_char], Literal[0]], count:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t])
|
||||
def amd_comgr_action_info_get_option_list_count(action_info:amd_comgr_action_info_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_option_list_item(action_info:amd_comgr_action_info_t, index:size_t, size:c.POINTER[size_t], option:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_bundle_entry_ids(action_info:amd_comgr_action_info_t, bundle_entry_ids:c.Array[c.POINTER[Annotated[bytes, ctypes.c_char]], Literal[0]], count:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, size_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_option_list_item(action_info:amd_comgr_action_info_t, index:size_t, size:c.POINTER[size_t], option:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.Array[c.POINTER[ctypes.c_char], Literal[0]], size_t)
|
||||
def amd_comgr_action_info_set_bundle_entry_ids(action_info:amd_comgr_action_info_t, bundle_entry_ids:c.Array[c.POINTER[ctypes.c_char], Literal[0]], count:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t])
|
||||
def amd_comgr_action_info_get_bundle_entry_id_count(action_info:amd_comgr_action_info_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_bundle_entry_id(action_info:amd_comgr_action_info_t, index:size_t, size:c.POINTER[size_t], bundle_entry_id:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_working_directory_path(action_info:amd_comgr_action_info_t, path:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_working_directory_path(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], path:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_logging(action_info:amd_comgr_action_info_t, logging:Annotated[bool, ctypes.c_bool]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_logging(action_info:amd_comgr_action_info_t, logging:c.POINTER[Annotated[bool, ctypes.c_bool]]) -> amd_comgr_status_t: ...
|
||||
class amd_comgr_action_kind_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR', 0)
|
||||
AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS', 1)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC', 2)
|
||||
AMD_COMGR_ACTION_ADD_DEVICE_LIBRARIES = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_ADD_DEVICE_LIBRARIES', 3)
|
||||
AMD_COMGR_ACTION_LINK_BC_TO_BC = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_LINK_BC_TO_BC', 4)
|
||||
AMD_COMGR_ACTION_OPTIMIZE_BC_TO_BC = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_OPTIMIZE_BC_TO_BC', 5)
|
||||
AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE', 6)
|
||||
AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY', 7)
|
||||
AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE', 8)
|
||||
AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE', 9)
|
||||
AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE', 10)
|
||||
AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE', 11)
|
||||
AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE', 12)
|
||||
AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE', 13)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_TO_FATBIN = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_TO_FATBIN', 14)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC', 15)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE', 16)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE', 17)
|
||||
AMD_COMGR_ACTION_UNBUNDLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_UNBUNDLE', 18)
|
||||
AMD_COMGR_ACTION_LAST = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_LAST', 18)
|
||||
|
||||
amd_comgr_action_kind_t: TypeAlias = amd_comgr_action_kind_s
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, size_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_bundle_entry_id(action_info:amd_comgr_action_info_t, index:size_t, size:c.POINTER[size_t], bundle_entry_id:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_set_working_directory_path(action_info:amd_comgr_action_info_t, path:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_working_directory_path(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], path:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, ctypes.c_bool)
|
||||
def amd_comgr_action_info_set_logging(action_info:amd_comgr_action_info_t, logging:bool) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[ctypes.c_bool])
|
||||
def amd_comgr_action_info_get_logging(action_info:amd_comgr_action_info_t, logging:c.POINTER[ctypes.c_bool]) -> amd_comgr_status_t: ...
|
||||
amd_comgr_action_kind_s: dict[int, str] = {(AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR:=0): 'AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR', (AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS:=1): 'AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS', (AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC:=2): 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC', (AMD_COMGR_ACTION_ADD_DEVICE_LIBRARIES:=3): 'AMD_COMGR_ACTION_ADD_DEVICE_LIBRARIES', (AMD_COMGR_ACTION_LINK_BC_TO_BC:=4): 'AMD_COMGR_ACTION_LINK_BC_TO_BC', (AMD_COMGR_ACTION_OPTIMIZE_BC_TO_BC:=5): 'AMD_COMGR_ACTION_OPTIMIZE_BC_TO_BC', (AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE:=6): 'AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE', (AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY:=7): 'AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY', (AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE:=8): 'AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE', (AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE:=9): 'AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE', (AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE:=10): 'AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE', (AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE:=11): 'AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE', (AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE:=12): 'AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE', (AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE:=13): 'AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE', (AMD_COMGR_ACTION_COMPILE_SOURCE_TO_FATBIN:=14): 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_FATBIN', (AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC:=15): 'AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC', (AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE:=16): 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE', (AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE:=17): 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE', (AMD_COMGR_ACTION_UNBUNDLE:=18): 'AMD_COMGR_ACTION_UNBUNDLE', (AMD_COMGR_ACTION_LAST:=18): 'AMD_COMGR_ACTION_LAST'}
|
||||
amd_comgr_action_kind_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_kind_t, amd_comgr_action_info_t, amd_comgr_data_set_t, amd_comgr_data_set_t)
|
||||
def amd_comgr_do_action(kind:amd_comgr_action_kind_t, info:amd_comgr_action_info_t, input:amd_comgr_data_set_t, result:amd_comgr_data_set_t) -> amd_comgr_status_t: ...
|
||||
class amd_comgr_metadata_kind_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_METADATA_KIND_NULL = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_NULL', 0)
|
||||
AMD_COMGR_METADATA_KIND_STRING = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_STRING', 1)
|
||||
AMD_COMGR_METADATA_KIND_MAP = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_MAP', 2)
|
||||
AMD_COMGR_METADATA_KIND_LIST = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_LIST', 3)
|
||||
AMD_COMGR_METADATA_KIND_LAST = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_LAST', 3)
|
||||
|
||||
amd_comgr_metadata_kind_t: TypeAlias = amd_comgr_metadata_kind_s
|
||||
@dll.bind
|
||||
amd_comgr_metadata_kind_s: dict[int, str] = {(AMD_COMGR_METADATA_KIND_NULL:=0): 'AMD_COMGR_METADATA_KIND_NULL', (AMD_COMGR_METADATA_KIND_STRING:=1): 'AMD_COMGR_METADATA_KIND_STRING', (AMD_COMGR_METADATA_KIND_MAP:=2): 'AMD_COMGR_METADATA_KIND_MAP', (AMD_COMGR_METADATA_KIND_LIST:=3): 'AMD_COMGR_METADATA_KIND_LIST', (AMD_COMGR_METADATA_KIND_LAST:=3): 'AMD_COMGR_METADATA_KIND_LAST'}
|
||||
amd_comgr_metadata_kind_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[amd_comgr_metadata_kind_t])
|
||||
def amd_comgr_get_metadata_kind(metadata:amd_comgr_metadata_node_t, kind:c.POINTER[amd_comgr_metadata_kind_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_metadata_string(metadata:amd_comgr_metadata_node_t, size:c.POINTER[size_t], string:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_metadata_string(metadata:amd_comgr_metadata_node_t, size:c.POINTER[size_t], string:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[size_t])
|
||||
def amd_comgr_get_metadata_map_size(metadata:amd_comgr_metadata_node_t, size:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.CFUNCTYPE[amd_comgr_status_t, [amd_comgr_metadata_node_t, amd_comgr_metadata_node_t, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def amd_comgr_iterate_map_metadata(metadata:amd_comgr_metadata_node_t, callback:c.CFUNCTYPE[amd_comgr_status_t, [amd_comgr_metadata_node_t, amd_comgr_metadata_node_t, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_metadata_lookup(metadata:amd_comgr_metadata_node_t, key:c.POINTER[Annotated[bytes, ctypes.c_char]], value:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[ctypes.c_char], c.POINTER[amd_comgr_metadata_node_t])
|
||||
def amd_comgr_metadata_lookup(metadata:amd_comgr_metadata_node_t, key:c.POINTER[ctypes.c_char], value:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[size_t])
|
||||
def amd_comgr_get_metadata_list_size(metadata:amd_comgr_metadata_node_t, size:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, size_t, c.POINTER[amd_comgr_metadata_node_t])
|
||||
def amd_comgr_index_list_metadata(metadata:amd_comgr_metadata_node_t, index:size_t, value:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.CFUNCTYPE[amd_comgr_status_t, [amd_comgr_symbol_t, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def amd_comgr_iterate_symbols(data:amd_comgr_data_t, callback:c.CFUNCTYPE[amd_comgr_status_t, [amd_comgr_symbol_t, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_symbol_lookup(data:amd_comgr_data_t, name:c.POINTER[Annotated[bytes, ctypes.c_char]], symbol:c.POINTER[amd_comgr_symbol_t]) -> amd_comgr_status_t: ...
|
||||
class amd_comgr_symbol_type_s(Annotated[int, ctypes.c_int32], c.Enum): pass
|
||||
AMD_COMGR_SYMBOL_TYPE_UNKNOWN = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_UNKNOWN', -1)
|
||||
AMD_COMGR_SYMBOL_TYPE_NOTYPE = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_NOTYPE', 0)
|
||||
AMD_COMGR_SYMBOL_TYPE_OBJECT = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_OBJECT', 1)
|
||||
AMD_COMGR_SYMBOL_TYPE_FUNC = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_FUNC', 2)
|
||||
AMD_COMGR_SYMBOL_TYPE_SECTION = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_SECTION', 3)
|
||||
AMD_COMGR_SYMBOL_TYPE_FILE = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_FILE', 4)
|
||||
AMD_COMGR_SYMBOL_TYPE_COMMON = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_COMMON', 5)
|
||||
AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL', 10)
|
||||
|
||||
amd_comgr_symbol_type_t: TypeAlias = amd_comgr_symbol_type_s
|
||||
class amd_comgr_symbol_info_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_SYMBOL_INFO_NAME_LENGTH = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_NAME_LENGTH', 0)
|
||||
AMD_COMGR_SYMBOL_INFO_NAME = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_NAME', 1)
|
||||
AMD_COMGR_SYMBOL_INFO_TYPE = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_TYPE', 2)
|
||||
AMD_COMGR_SYMBOL_INFO_SIZE = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_SIZE', 3)
|
||||
AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED', 4)
|
||||
AMD_COMGR_SYMBOL_INFO_VALUE = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_VALUE', 5)
|
||||
AMD_COMGR_SYMBOL_INFO_LAST = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_LAST', 5)
|
||||
|
||||
amd_comgr_symbol_info_t: TypeAlias = amd_comgr_symbol_info_s
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[ctypes.c_char], c.POINTER[amd_comgr_symbol_t])
|
||||
def amd_comgr_symbol_lookup(data:amd_comgr_data_t, name:c.POINTER[ctypes.c_char], symbol:c.POINTER[amd_comgr_symbol_t]) -> amd_comgr_status_t: ...
|
||||
amd_comgr_symbol_type_s: dict[int, str] = {(AMD_COMGR_SYMBOL_TYPE_UNKNOWN:=-1): 'AMD_COMGR_SYMBOL_TYPE_UNKNOWN', (AMD_COMGR_SYMBOL_TYPE_NOTYPE:=0): 'AMD_COMGR_SYMBOL_TYPE_NOTYPE', (AMD_COMGR_SYMBOL_TYPE_OBJECT:=1): 'AMD_COMGR_SYMBOL_TYPE_OBJECT', (AMD_COMGR_SYMBOL_TYPE_FUNC:=2): 'AMD_COMGR_SYMBOL_TYPE_FUNC', (AMD_COMGR_SYMBOL_TYPE_SECTION:=3): 'AMD_COMGR_SYMBOL_TYPE_SECTION', (AMD_COMGR_SYMBOL_TYPE_FILE:=4): 'AMD_COMGR_SYMBOL_TYPE_FILE', (AMD_COMGR_SYMBOL_TYPE_COMMON:=5): 'AMD_COMGR_SYMBOL_TYPE_COMMON', (AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL:=10): 'AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL'}
|
||||
amd_comgr_symbol_type_t: TypeAlias = ctypes.c_int32
|
||||
amd_comgr_symbol_info_s: dict[int, str] = {(AMD_COMGR_SYMBOL_INFO_NAME_LENGTH:=0): 'AMD_COMGR_SYMBOL_INFO_NAME_LENGTH', (AMD_COMGR_SYMBOL_INFO_NAME:=1): 'AMD_COMGR_SYMBOL_INFO_NAME', (AMD_COMGR_SYMBOL_INFO_TYPE:=2): 'AMD_COMGR_SYMBOL_INFO_TYPE', (AMD_COMGR_SYMBOL_INFO_SIZE:=3): 'AMD_COMGR_SYMBOL_INFO_SIZE', (AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED:=4): 'AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED', (AMD_COMGR_SYMBOL_INFO_VALUE:=5): 'AMD_COMGR_SYMBOL_INFO_VALUE', (AMD_COMGR_SYMBOL_INFO_LAST:=5): 'AMD_COMGR_SYMBOL_INFO_LAST'}
|
||||
amd_comgr_symbol_info_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_symbol_t, amd_comgr_symbol_info_t, ctypes.c_void_p)
|
||||
def amd_comgr_symbol_get_info(symbol:amd_comgr_symbol_t, attribute:amd_comgr_symbol_info_t, value:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_create_disassembly_info(isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]], read_memory_callback:c.CFUNCTYPE[uint64_t, [uint64_t, c.POINTER[Annotated[bytes, ctypes.c_char]], uint64_t, ctypes.c_void_p]], print_instruction_callback:c.CFUNCTYPE[None, [c.POINTER[Annotated[bytes, ctypes.c_char]], ctypes.c_void_p]], print_address_annotation_callback:c.CFUNCTYPE[None, [uint64_t, ctypes.c_void_p]], disassembly_info:c.POINTER[amd_comgr_disassembly_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[ctypes.c_char], c.CFUNCTYPE[uint64_t, [uint64_t, c.POINTER[ctypes.c_char], uint64_t, ctypes.c_void_p]], c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p]], c.CFUNCTYPE[None, [uint64_t, ctypes.c_void_p]], c.POINTER[amd_comgr_disassembly_info_t])
|
||||
def amd_comgr_create_disassembly_info(isa_name:c.POINTER[ctypes.c_char], read_memory_callback:c.CFUNCTYPE[uint64_t, [uint64_t, c.POINTER[ctypes.c_char], uint64_t, ctypes.c_void_p]], print_instruction_callback:c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p]], print_address_annotation_callback:c.CFUNCTYPE[None, [uint64_t, ctypes.c_void_p]], disassembly_info:c.POINTER[amd_comgr_disassembly_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_disassembly_info_t)
|
||||
def amd_comgr_destroy_disassembly_info(disassembly_info:amd_comgr_disassembly_info_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_disassembly_info_t, uint64_t, ctypes.c_void_p, c.POINTER[uint64_t])
|
||||
def amd_comgr_disassemble_instruction(disassembly_info:amd_comgr_disassembly_info_t, address:uint64_t, user_data:ctypes.c_void_p, size:c.POINTER[uint64_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[amd_comgr_data_t])
|
||||
def amd_comgr_demangle_symbol_name(mangled_symbol_name:amd_comgr_data_t, demangled_symbol_name:c.POINTER[amd_comgr_data_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t])
|
||||
def amd_comgr_populate_mangled_names(data:amd_comgr_data_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_mangled_name(data:amd_comgr_data_t, index:size_t, size:c.POINTER[size_t], mangled_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, size_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_mangled_name(data:amd_comgr_data_t, index:size_t, size:c.POINTER[size_t], mangled_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t])
|
||||
def amd_comgr_populate_name_expression_map(data:amd_comgr_data_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_map_name_expression_to_symbol_name(data:amd_comgr_data_t, size:c.POINTER[size_t], name_expression:c.POINTER[Annotated[bytes, ctypes.c_char]], symbol_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t], c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_map_name_expression_to_symbol_name(data:amd_comgr_data_t, size:c.POINTER[size_t], name_expression:c.POINTER[ctypes.c_char], symbol_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@c.record
|
||||
class code_object_info_s(c.Struct):
|
||||
SIZE = 24
|
||||
isa: Annotated[c.POINTER[Annotated[bytes, ctypes.c_char]], 0]
|
||||
size: Annotated[size_t, 8]
|
||||
offset: Annotated[uint64_t, 16]
|
||||
isa: c.POINTER[ctypes.c_char]
|
||||
size: int
|
||||
offset: int
|
||||
code_object_info_s.register_fields([('isa', c.POINTER[ctypes.c_char], 0), ('size', size_t, 8), ('offset', uint64_t, 16)])
|
||||
amd_comgr_code_object_info_t: TypeAlias = code_object_info_s
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[amd_comgr_code_object_info_t], size_t)
|
||||
def amd_comgr_lookup_code_object(data:amd_comgr_data_t, info_list:c.POINTER[amd_comgr_code_object_info_t], info_list_size:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_map_elf_virtual_address_to_code_object_offset(data:amd_comgr_data_t, elf_virtual_address:uint64_t, code_object_offset:c.POINTER[uint64_t], slice_size:c.POINTER[uint64_t], nobits:c.POINTER[Annotated[bool, ctypes.c_bool]]) -> amd_comgr_status_t: ...
|
||||
c.init_records()
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, uint64_t, c.POINTER[uint64_t], c.POINTER[uint64_t], c.POINTER[ctypes.c_bool])
|
||||
def amd_comgr_map_elf_virtual_address_to_code_object_offset(data:amd_comgr_data_t, elf_virtual_address:uint64_t, code_object_offset:c.POINTER[uint64_t], slice_size:c.POINTER[uint64_t], nobits:c.POINTER[ctypes.c_bool]) -> amd_comgr_status_t: ...
|
||||
AMD_COMGR_DEPRECATED = lambda msg: __attribute__((deprecated(msg))) # type: ignore
|
||||
AMD_COMGR_INTERFACE_VERSION_MAJOR = 2 # type: ignore
|
||||
AMD_COMGR_INTERFACE_VERSION_MINOR = 8 # type: ignore
|
||||
|
|
@ -1,271 +1,205 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
import os
|
||||
dll = c.DLL('comgr_3', [os.getenv('ROCM_PATH', '/opt/rocm')+'/lib/libamd_comgr.so', 'amd_comgr'])
|
||||
class amd_comgr_status_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_STATUS_SUCCESS = amd_comgr_status_s.define('AMD_COMGR_STATUS_SUCCESS', 0)
|
||||
AMD_COMGR_STATUS_ERROR = amd_comgr_status_s.define('AMD_COMGR_STATUS_ERROR', 1)
|
||||
AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT = amd_comgr_status_s.define('AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT', 2)
|
||||
AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES = amd_comgr_status_s.define('AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES', 3)
|
||||
|
||||
amd_comgr_status_t: TypeAlias = amd_comgr_status_s
|
||||
class amd_comgr_language_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_LANGUAGE_NONE = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_NONE', 0)
|
||||
AMD_COMGR_LANGUAGE_OPENCL_1_2 = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_OPENCL_1_2', 1)
|
||||
AMD_COMGR_LANGUAGE_OPENCL_2_0 = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_OPENCL_2_0', 2)
|
||||
AMD_COMGR_LANGUAGE_HIP = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_HIP', 3)
|
||||
AMD_COMGR_LANGUAGE_LLVM_IR = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_LLVM_IR', 4)
|
||||
AMD_COMGR_LANGUAGE_LAST = amd_comgr_language_s.define('AMD_COMGR_LANGUAGE_LAST', 4)
|
||||
|
||||
amd_comgr_language_t: TypeAlias = amd_comgr_language_s
|
||||
@dll.bind
|
||||
def amd_comgr_status_string(status:amd_comgr_status_t, status_string:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]]) -> amd_comgr_status_t: ...
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
amd_comgr_status_s: dict[int, str] = {(AMD_COMGR_STATUS_SUCCESS:=0): 'AMD_COMGR_STATUS_SUCCESS', (AMD_COMGR_STATUS_ERROR:=1): 'AMD_COMGR_STATUS_ERROR', (AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT:=2): 'AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT', (AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES:=3): 'AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES'}
|
||||
amd_comgr_status_t: TypeAlias = ctypes.c_uint32
|
||||
amd_comgr_language_s: dict[int, str] = {(AMD_COMGR_LANGUAGE_NONE:=0): 'AMD_COMGR_LANGUAGE_NONE', (AMD_COMGR_LANGUAGE_OPENCL_1_2:=1): 'AMD_COMGR_LANGUAGE_OPENCL_1_2', (AMD_COMGR_LANGUAGE_OPENCL_2_0:=2): 'AMD_COMGR_LANGUAGE_OPENCL_2_0', (AMD_COMGR_LANGUAGE_HIP:=3): 'AMD_COMGR_LANGUAGE_HIP', (AMD_COMGR_LANGUAGE_LLVM_IR:=4): 'AMD_COMGR_LANGUAGE_LLVM_IR', (AMD_COMGR_LANGUAGE_LAST:=4): 'AMD_COMGR_LANGUAGE_LAST'}
|
||||
amd_comgr_language_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_status_t, c.POINTER[c.POINTER[ctypes.c_char]])
|
||||
def amd_comgr_status_string(status:amd_comgr_status_t, status_string:c.POINTER[c.POINTER[ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(None, c.POINTER[size_t], c.POINTER[size_t])
|
||||
def amd_comgr_get_version(major:c.POINTER[size_t], minor:c.POINTER[size_t]) -> None: ...
|
||||
class amd_comgr_data_kind_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_DATA_KIND_UNDEF = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_UNDEF', 0)
|
||||
AMD_COMGR_DATA_KIND_SOURCE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_SOURCE', 1)
|
||||
AMD_COMGR_DATA_KIND_INCLUDE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_INCLUDE', 2)
|
||||
AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER', 3)
|
||||
AMD_COMGR_DATA_KIND_DIAGNOSTIC = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_DIAGNOSTIC', 4)
|
||||
AMD_COMGR_DATA_KIND_LOG = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_LOG', 5)
|
||||
AMD_COMGR_DATA_KIND_BC = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_BC', 6)
|
||||
AMD_COMGR_DATA_KIND_RELOCATABLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_RELOCATABLE', 7)
|
||||
AMD_COMGR_DATA_KIND_EXECUTABLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_EXECUTABLE', 8)
|
||||
AMD_COMGR_DATA_KIND_BYTES = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_BYTES', 9)
|
||||
AMD_COMGR_DATA_KIND_FATBIN = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_FATBIN', 16)
|
||||
AMD_COMGR_DATA_KIND_AR = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_AR', 17)
|
||||
AMD_COMGR_DATA_KIND_BC_BUNDLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_BC_BUNDLE', 18)
|
||||
AMD_COMGR_DATA_KIND_AR_BUNDLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_AR_BUNDLE', 19)
|
||||
AMD_COMGR_DATA_KIND_OBJ_BUNDLE = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_OBJ_BUNDLE', 20)
|
||||
AMD_COMGR_DATA_KIND_SPIRV = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_SPIRV', 21)
|
||||
AMD_COMGR_DATA_KIND_LAST = amd_comgr_data_kind_s.define('AMD_COMGR_DATA_KIND_LAST', 21)
|
||||
|
||||
amd_comgr_data_kind_t: TypeAlias = amd_comgr_data_kind_s
|
||||
amd_comgr_data_kind_s: dict[int, str] = {(AMD_COMGR_DATA_KIND_UNDEF:=0): 'AMD_COMGR_DATA_KIND_UNDEF', (AMD_COMGR_DATA_KIND_SOURCE:=1): 'AMD_COMGR_DATA_KIND_SOURCE', (AMD_COMGR_DATA_KIND_INCLUDE:=2): 'AMD_COMGR_DATA_KIND_INCLUDE', (AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER:=3): 'AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER', (AMD_COMGR_DATA_KIND_DIAGNOSTIC:=4): 'AMD_COMGR_DATA_KIND_DIAGNOSTIC', (AMD_COMGR_DATA_KIND_LOG:=5): 'AMD_COMGR_DATA_KIND_LOG', (AMD_COMGR_DATA_KIND_BC:=6): 'AMD_COMGR_DATA_KIND_BC', (AMD_COMGR_DATA_KIND_RELOCATABLE:=7): 'AMD_COMGR_DATA_KIND_RELOCATABLE', (AMD_COMGR_DATA_KIND_EXECUTABLE:=8): 'AMD_COMGR_DATA_KIND_EXECUTABLE', (AMD_COMGR_DATA_KIND_BYTES:=9): 'AMD_COMGR_DATA_KIND_BYTES', (AMD_COMGR_DATA_KIND_FATBIN:=16): 'AMD_COMGR_DATA_KIND_FATBIN', (AMD_COMGR_DATA_KIND_AR:=17): 'AMD_COMGR_DATA_KIND_AR', (AMD_COMGR_DATA_KIND_BC_BUNDLE:=18): 'AMD_COMGR_DATA_KIND_BC_BUNDLE', (AMD_COMGR_DATA_KIND_AR_BUNDLE:=19): 'AMD_COMGR_DATA_KIND_AR_BUNDLE', (AMD_COMGR_DATA_KIND_OBJ_BUNDLE:=20): 'AMD_COMGR_DATA_KIND_OBJ_BUNDLE', (AMD_COMGR_DATA_KIND_SPIRV:=21): 'AMD_COMGR_DATA_KIND_SPIRV', (AMD_COMGR_DATA_KIND_LAST:=21): 'AMD_COMGR_DATA_KIND_LAST'}
|
||||
amd_comgr_data_kind_t: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class amd_comgr_data_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
handle: int
|
||||
uint64_t: TypeAlias = ctypes.c_uint64
|
||||
amd_comgr_data_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_data_t: TypeAlias = amd_comgr_data_s
|
||||
@c.record
|
||||
class amd_comgr_data_set_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_data_set_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_data_set_t: TypeAlias = amd_comgr_data_set_s
|
||||
@c.record
|
||||
class amd_comgr_action_info_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_action_info_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_action_info_t: TypeAlias = amd_comgr_action_info_s
|
||||
@c.record
|
||||
class amd_comgr_metadata_node_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_metadata_node_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_metadata_node_t: TypeAlias = amd_comgr_metadata_node_s
|
||||
@c.record
|
||||
class amd_comgr_symbol_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_symbol_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_symbol_t: TypeAlias = amd_comgr_symbol_s
|
||||
@c.record
|
||||
class amd_comgr_disassembly_info_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_disassembly_info_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_disassembly_info_t: TypeAlias = amd_comgr_disassembly_info_s
|
||||
@c.record
|
||||
class amd_comgr_symbolizer_info_s(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64_t, 0]
|
||||
handle: int
|
||||
amd_comgr_symbolizer_info_s.register_fields([('handle', uint64_t, 0)])
|
||||
amd_comgr_symbolizer_info_t: TypeAlias = amd_comgr_symbolizer_info_s
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[size_t])
|
||||
def amd_comgr_get_isa_count(count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_isa_name(index:size_t, isa_name:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_isa_metadata(isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]], metadata:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, size_t, c.POINTER[c.POINTER[ctypes.c_char]])
|
||||
def amd_comgr_get_isa_name(index:size_t, isa_name:c.POINTER[c.POINTER[ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[ctypes.c_char], c.POINTER[amd_comgr_metadata_node_t])
|
||||
def amd_comgr_get_isa_metadata(isa_name:c.POINTER[ctypes.c_char], metadata:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_kind_t, c.POINTER[amd_comgr_data_t])
|
||||
def amd_comgr_create_data(kind:amd_comgr_data_kind_t, data:c.POINTER[amd_comgr_data_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t)
|
||||
def amd_comgr_release_data(data:amd_comgr_data_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[amd_comgr_data_kind_t])
|
||||
def amd_comgr_get_data_kind(data:amd_comgr_data_t, kind:c.POINTER[amd_comgr_data_kind_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_set_data(data:amd_comgr_data_t, size:size_t, bytes:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_set_data_from_file_slice(data:amd_comgr_data_t, file_descriptor:Annotated[int, ctypes.c_int32], offset:uint64_t, size:uint64_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_set_data_name(data:amd_comgr_data_t, name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_data(data:amd_comgr_data_t, size:c.POINTER[size_t], bytes:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_data_name(data:amd_comgr_data_t, size:c.POINTER[size_t], name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_data_isa_name(data:amd_comgr_data_t, size:c.POINTER[size_t], isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_create_symbolizer_info(code_object:amd_comgr_data_t, print_symbol_callback:c.CFUNCTYPE[None, [c.POINTER[Annotated[bytes, ctypes.c_char]], ctypes.c_void_p]], symbolizer_info:c.POINTER[amd_comgr_symbolizer_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, size_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_set_data(data:amd_comgr_data_t, size:size_t, bytes:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, ctypes.c_int32, uint64_t, uint64_t)
|
||||
def amd_comgr_set_data_from_file_slice(data:amd_comgr_data_t, file_descriptor:int, offset:uint64_t, size:uint64_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_set_data_name(data:amd_comgr_data_t, name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_data(data:amd_comgr_data_t, size:c.POINTER[size_t], bytes:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_data_name(data:amd_comgr_data_t, size:c.POINTER[size_t], name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_data_isa_name(data:amd_comgr_data_t, size:c.POINTER[size_t], isa_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p]], c.POINTER[amd_comgr_symbolizer_info_t])
|
||||
def amd_comgr_create_symbolizer_info(code_object:amd_comgr_data_t, print_symbol_callback:c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p]], symbolizer_info:c.POINTER[amd_comgr_symbolizer_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_symbolizer_info_t)
|
||||
def amd_comgr_destroy_symbolizer_info(symbolizer_info:amd_comgr_symbolizer_info_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_symbolize(symbolizer_info:amd_comgr_symbolizer_info_t, address:uint64_t, is_code:Annotated[bool, ctypes.c_bool], user_data:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_symbolizer_info_t, uint64_t, ctypes.c_bool, ctypes.c_void_p)
|
||||
def amd_comgr_symbolize(symbolizer_info:amd_comgr_symbolizer_info_t, address:uint64_t, is_code:bool, user_data:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[amd_comgr_metadata_node_t])
|
||||
def amd_comgr_get_data_metadata(data:amd_comgr_data_t, metadata:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t)
|
||||
def amd_comgr_destroy_metadata(metadata:amd_comgr_metadata_node_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[amd_comgr_data_set_t])
|
||||
def amd_comgr_create_data_set(data_set:c.POINTER[amd_comgr_data_set_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t)
|
||||
def amd_comgr_destroy_data_set(data_set:amd_comgr_data_set_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t, amd_comgr_data_t)
|
||||
def amd_comgr_data_set_add(data_set:amd_comgr_data_set_t, data:amd_comgr_data_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t, amd_comgr_data_kind_t)
|
||||
def amd_comgr_data_set_remove(data_set:amd_comgr_data_set_t, data_kind:amd_comgr_data_kind_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t, amd_comgr_data_kind_t, c.POINTER[size_t])
|
||||
def amd_comgr_action_data_count(data_set:amd_comgr_data_set_t, data_kind:amd_comgr_data_kind_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_set_t, amd_comgr_data_kind_t, size_t, c.POINTER[amd_comgr_data_t])
|
||||
def amd_comgr_action_data_get_data(data_set:amd_comgr_data_set_t, data_kind:amd_comgr_data_kind_t, index:size_t, data:c.POINTER[amd_comgr_data_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[amd_comgr_action_info_t])
|
||||
def amd_comgr_create_action_info(action_info:c.POINTER[amd_comgr_action_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t)
|
||||
def amd_comgr_destroy_action_info(action_info:amd_comgr_action_info_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_isa_name(action_info:amd_comgr_action_info_t, isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_isa_name(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_set_isa_name(action_info:amd_comgr_action_info_t, isa_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_isa_name(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], isa_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, amd_comgr_language_t)
|
||||
def amd_comgr_action_info_set_language(action_info:amd_comgr_action_info_t, language:amd_comgr_language_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[amd_comgr_language_t])
|
||||
def amd_comgr_action_info_get_language(action_info:amd_comgr_action_info_t, language:c.POINTER[amd_comgr_language_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_option_list(action_info:amd_comgr_action_info_t, options:c.Array[c.POINTER[Annotated[bytes, ctypes.c_char]], Literal[0]], count:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.Array[c.POINTER[ctypes.c_char], Literal[0]], size_t)
|
||||
def amd_comgr_action_info_set_option_list(action_info:amd_comgr_action_info_t, options:c.Array[c.POINTER[ctypes.c_char], Literal[0]], count:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t])
|
||||
def amd_comgr_action_info_get_option_list_count(action_info:amd_comgr_action_info_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_option_list_item(action_info:amd_comgr_action_info_t, index:size_t, size:c.POINTER[size_t], option:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_bundle_entry_ids(action_info:amd_comgr_action_info_t, bundle_entry_ids:c.Array[c.POINTER[Annotated[bytes, ctypes.c_char]], Literal[0]], count:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, size_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_option_list_item(action_info:amd_comgr_action_info_t, index:size_t, size:c.POINTER[size_t], option:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.Array[c.POINTER[ctypes.c_char], Literal[0]], size_t)
|
||||
def amd_comgr_action_info_set_bundle_entry_ids(action_info:amd_comgr_action_info_t, bundle_entry_ids:c.Array[c.POINTER[ctypes.c_char], Literal[0]], count:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t])
|
||||
def amd_comgr_action_info_get_bundle_entry_id_count(action_info:amd_comgr_action_info_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_bundle_entry_id(action_info:amd_comgr_action_info_t, index:size_t, size:c.POINTER[size_t], bundle_entry_id:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_vfs(action_info:amd_comgr_action_info_t, should_use_vfs:Annotated[bool, ctypes.c_bool]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_device_lib_linking(action_info:amd_comgr_action_info_t, should_link_device_libs:Annotated[bool, ctypes.c_bool]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_working_directory_path(action_info:amd_comgr_action_info_t, path:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_working_directory_path(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], path:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_set_logging(action_info:amd_comgr_action_info_t, logging:Annotated[bool, ctypes.c_bool]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_action_info_get_logging(action_info:amd_comgr_action_info_t, logging:c.POINTER[Annotated[bool, ctypes.c_bool]]) -> amd_comgr_status_t: ...
|
||||
class amd_comgr_action_kind_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR', 0)
|
||||
AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS', 1)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC', 2)
|
||||
AMD_COMGR_ACTION_LINK_BC_TO_BC = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_LINK_BC_TO_BC', 3)
|
||||
AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE', 4)
|
||||
AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY', 5)
|
||||
AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE', 6)
|
||||
AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE', 7)
|
||||
AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE', 8)
|
||||
AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE', 9)
|
||||
AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE', 10)
|
||||
AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE', 11)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC', 12)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE', 13)
|
||||
AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE', 14)
|
||||
AMD_COMGR_ACTION_UNBUNDLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_UNBUNDLE', 15)
|
||||
AMD_COMGR_ACTION_COMPILE_SPIRV_TO_RELOCATABLE = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_COMPILE_SPIRV_TO_RELOCATABLE', 16)
|
||||
AMD_COMGR_ACTION_TRANSLATE_SPIRV_TO_BC = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_TRANSLATE_SPIRV_TO_BC', 19)
|
||||
AMD_COMGR_ACTION_LAST = amd_comgr_action_kind_s.define('AMD_COMGR_ACTION_LAST', 19)
|
||||
|
||||
amd_comgr_action_kind_t: TypeAlias = amd_comgr_action_kind_s
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, size_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_bundle_entry_id(action_info:amd_comgr_action_info_t, index:size_t, size:c.POINTER[size_t], bundle_entry_id:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, ctypes.c_bool)
|
||||
def amd_comgr_action_info_set_vfs(action_info:amd_comgr_action_info_t, should_use_vfs:bool) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, ctypes.c_bool)
|
||||
def amd_comgr_action_info_set_device_lib_linking(action_info:amd_comgr_action_info_t, should_link_device_libs:bool) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_set_working_directory_path(action_info:amd_comgr_action_info_t, path:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_action_info_get_working_directory_path(action_info:amd_comgr_action_info_t, size:c.POINTER[size_t], path:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, ctypes.c_bool)
|
||||
def amd_comgr_action_info_set_logging(action_info:amd_comgr_action_info_t, logging:bool) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_info_t, c.POINTER[ctypes.c_bool])
|
||||
def amd_comgr_action_info_get_logging(action_info:amd_comgr_action_info_t, logging:c.POINTER[ctypes.c_bool]) -> amd_comgr_status_t: ...
|
||||
amd_comgr_action_kind_s: dict[int, str] = {(AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR:=0): 'AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR', (AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS:=1): 'AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS', (AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC:=2): 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC', (AMD_COMGR_ACTION_LINK_BC_TO_BC:=3): 'AMD_COMGR_ACTION_LINK_BC_TO_BC', (AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE:=4): 'AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE', (AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY:=5): 'AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY', (AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE:=6): 'AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE', (AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE:=7): 'AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE', (AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE:=8): 'AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE', (AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE:=9): 'AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE', (AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE:=10): 'AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE', (AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE:=11): 'AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE', (AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC:=12): 'AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC', (AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE:=13): 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE', (AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE:=14): 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE', (AMD_COMGR_ACTION_UNBUNDLE:=15): 'AMD_COMGR_ACTION_UNBUNDLE', (AMD_COMGR_ACTION_COMPILE_SPIRV_TO_RELOCATABLE:=16): 'AMD_COMGR_ACTION_COMPILE_SPIRV_TO_RELOCATABLE', (AMD_COMGR_ACTION_TRANSLATE_SPIRV_TO_BC:=19): 'AMD_COMGR_ACTION_TRANSLATE_SPIRV_TO_BC', (AMD_COMGR_ACTION_LAST:=19): 'AMD_COMGR_ACTION_LAST'}
|
||||
amd_comgr_action_kind_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_action_kind_t, amd_comgr_action_info_t, amd_comgr_data_set_t, amd_comgr_data_set_t)
|
||||
def amd_comgr_do_action(kind:amd_comgr_action_kind_t, info:amd_comgr_action_info_t, input:amd_comgr_data_set_t, result:amd_comgr_data_set_t) -> amd_comgr_status_t: ...
|
||||
class amd_comgr_metadata_kind_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_METADATA_KIND_NULL = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_NULL', 0)
|
||||
AMD_COMGR_METADATA_KIND_STRING = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_STRING', 1)
|
||||
AMD_COMGR_METADATA_KIND_MAP = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_MAP', 2)
|
||||
AMD_COMGR_METADATA_KIND_LIST = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_LIST', 3)
|
||||
AMD_COMGR_METADATA_KIND_LAST = amd_comgr_metadata_kind_s.define('AMD_COMGR_METADATA_KIND_LAST', 3)
|
||||
|
||||
amd_comgr_metadata_kind_t: TypeAlias = amd_comgr_metadata_kind_s
|
||||
@dll.bind
|
||||
amd_comgr_metadata_kind_s: dict[int, str] = {(AMD_COMGR_METADATA_KIND_NULL:=0): 'AMD_COMGR_METADATA_KIND_NULL', (AMD_COMGR_METADATA_KIND_STRING:=1): 'AMD_COMGR_METADATA_KIND_STRING', (AMD_COMGR_METADATA_KIND_MAP:=2): 'AMD_COMGR_METADATA_KIND_MAP', (AMD_COMGR_METADATA_KIND_LIST:=3): 'AMD_COMGR_METADATA_KIND_LIST', (AMD_COMGR_METADATA_KIND_LAST:=3): 'AMD_COMGR_METADATA_KIND_LAST'}
|
||||
amd_comgr_metadata_kind_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[amd_comgr_metadata_kind_t])
|
||||
def amd_comgr_get_metadata_kind(metadata:amd_comgr_metadata_node_t, kind:c.POINTER[amd_comgr_metadata_kind_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_metadata_string(metadata:amd_comgr_metadata_node_t, size:c.POINTER[size_t], string:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_metadata_string(metadata:amd_comgr_metadata_node_t, size:c.POINTER[size_t], string:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[size_t])
|
||||
def amd_comgr_get_metadata_map_size(metadata:amd_comgr_metadata_node_t, size:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.CFUNCTYPE[amd_comgr_status_t, [amd_comgr_metadata_node_t, amd_comgr_metadata_node_t, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def amd_comgr_iterate_map_metadata(metadata:amd_comgr_metadata_node_t, callback:c.CFUNCTYPE[amd_comgr_status_t, [amd_comgr_metadata_node_t, amd_comgr_metadata_node_t, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_metadata_lookup(metadata:amd_comgr_metadata_node_t, key:c.POINTER[Annotated[bytes, ctypes.c_char]], value:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[ctypes.c_char], c.POINTER[amd_comgr_metadata_node_t])
|
||||
def amd_comgr_metadata_lookup(metadata:amd_comgr_metadata_node_t, key:c.POINTER[ctypes.c_char], value:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, c.POINTER[size_t])
|
||||
def amd_comgr_get_metadata_list_size(metadata:amd_comgr_metadata_node_t, size:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_metadata_node_t, size_t, c.POINTER[amd_comgr_metadata_node_t])
|
||||
def amd_comgr_index_list_metadata(metadata:amd_comgr_metadata_node_t, index:size_t, value:c.POINTER[amd_comgr_metadata_node_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.CFUNCTYPE[amd_comgr_status_t, [amd_comgr_symbol_t, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def amd_comgr_iterate_symbols(data:amd_comgr_data_t, callback:c.CFUNCTYPE[amd_comgr_status_t, [amd_comgr_symbol_t, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_symbol_lookup(data:amd_comgr_data_t, name:c.POINTER[Annotated[bytes, ctypes.c_char]], symbol:c.POINTER[amd_comgr_symbol_t]) -> amd_comgr_status_t: ...
|
||||
class amd_comgr_symbol_type_s(Annotated[int, ctypes.c_int32], c.Enum): pass
|
||||
AMD_COMGR_SYMBOL_TYPE_UNKNOWN = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_UNKNOWN', -1)
|
||||
AMD_COMGR_SYMBOL_TYPE_NOTYPE = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_NOTYPE', 0)
|
||||
AMD_COMGR_SYMBOL_TYPE_OBJECT = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_OBJECT', 1)
|
||||
AMD_COMGR_SYMBOL_TYPE_FUNC = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_FUNC', 2)
|
||||
AMD_COMGR_SYMBOL_TYPE_SECTION = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_SECTION', 3)
|
||||
AMD_COMGR_SYMBOL_TYPE_FILE = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_FILE', 4)
|
||||
AMD_COMGR_SYMBOL_TYPE_COMMON = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_COMMON', 5)
|
||||
AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL = amd_comgr_symbol_type_s.define('AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL', 10)
|
||||
|
||||
amd_comgr_symbol_type_t: TypeAlias = amd_comgr_symbol_type_s
|
||||
class amd_comgr_symbol_info_s(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
AMD_COMGR_SYMBOL_INFO_NAME_LENGTH = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_NAME_LENGTH', 0)
|
||||
AMD_COMGR_SYMBOL_INFO_NAME = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_NAME', 1)
|
||||
AMD_COMGR_SYMBOL_INFO_TYPE = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_TYPE', 2)
|
||||
AMD_COMGR_SYMBOL_INFO_SIZE = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_SIZE', 3)
|
||||
AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED', 4)
|
||||
AMD_COMGR_SYMBOL_INFO_VALUE = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_VALUE', 5)
|
||||
AMD_COMGR_SYMBOL_INFO_LAST = amd_comgr_symbol_info_s.define('AMD_COMGR_SYMBOL_INFO_LAST', 5)
|
||||
|
||||
amd_comgr_symbol_info_t: TypeAlias = amd_comgr_symbol_info_s
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[ctypes.c_char], c.POINTER[amd_comgr_symbol_t])
|
||||
def amd_comgr_symbol_lookup(data:amd_comgr_data_t, name:c.POINTER[ctypes.c_char], symbol:c.POINTER[amd_comgr_symbol_t]) -> amd_comgr_status_t: ...
|
||||
amd_comgr_symbol_type_s: dict[int, str] = {(AMD_COMGR_SYMBOL_TYPE_UNKNOWN:=-1): 'AMD_COMGR_SYMBOL_TYPE_UNKNOWN', (AMD_COMGR_SYMBOL_TYPE_NOTYPE:=0): 'AMD_COMGR_SYMBOL_TYPE_NOTYPE', (AMD_COMGR_SYMBOL_TYPE_OBJECT:=1): 'AMD_COMGR_SYMBOL_TYPE_OBJECT', (AMD_COMGR_SYMBOL_TYPE_FUNC:=2): 'AMD_COMGR_SYMBOL_TYPE_FUNC', (AMD_COMGR_SYMBOL_TYPE_SECTION:=3): 'AMD_COMGR_SYMBOL_TYPE_SECTION', (AMD_COMGR_SYMBOL_TYPE_FILE:=4): 'AMD_COMGR_SYMBOL_TYPE_FILE', (AMD_COMGR_SYMBOL_TYPE_COMMON:=5): 'AMD_COMGR_SYMBOL_TYPE_COMMON', (AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL:=10): 'AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL'}
|
||||
amd_comgr_symbol_type_t: TypeAlias = ctypes.c_int32
|
||||
amd_comgr_symbol_info_s: dict[int, str] = {(AMD_COMGR_SYMBOL_INFO_NAME_LENGTH:=0): 'AMD_COMGR_SYMBOL_INFO_NAME_LENGTH', (AMD_COMGR_SYMBOL_INFO_NAME:=1): 'AMD_COMGR_SYMBOL_INFO_NAME', (AMD_COMGR_SYMBOL_INFO_TYPE:=2): 'AMD_COMGR_SYMBOL_INFO_TYPE', (AMD_COMGR_SYMBOL_INFO_SIZE:=3): 'AMD_COMGR_SYMBOL_INFO_SIZE', (AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED:=4): 'AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED', (AMD_COMGR_SYMBOL_INFO_VALUE:=5): 'AMD_COMGR_SYMBOL_INFO_VALUE', (AMD_COMGR_SYMBOL_INFO_LAST:=5): 'AMD_COMGR_SYMBOL_INFO_LAST'}
|
||||
amd_comgr_symbol_info_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_symbol_t, amd_comgr_symbol_info_t, ctypes.c_void_p)
|
||||
def amd_comgr_symbol_get_info(symbol:amd_comgr_symbol_t, attribute:amd_comgr_symbol_info_t, value:ctypes.c_void_p) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_create_disassembly_info(isa_name:c.POINTER[Annotated[bytes, ctypes.c_char]], read_memory_callback:c.CFUNCTYPE[uint64_t, [uint64_t, c.POINTER[Annotated[bytes, ctypes.c_char]], uint64_t, ctypes.c_void_p]], print_instruction_callback:c.CFUNCTYPE[None, [c.POINTER[Annotated[bytes, ctypes.c_char]], ctypes.c_void_p]], print_address_annotation_callback:c.CFUNCTYPE[None, [uint64_t, ctypes.c_void_p]], disassembly_info:c.POINTER[amd_comgr_disassembly_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, c.POINTER[ctypes.c_char], c.CFUNCTYPE[uint64_t, [uint64_t, c.POINTER[ctypes.c_char], uint64_t, ctypes.c_void_p]], c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p]], c.CFUNCTYPE[None, [uint64_t, ctypes.c_void_p]], c.POINTER[amd_comgr_disassembly_info_t])
|
||||
def amd_comgr_create_disassembly_info(isa_name:c.POINTER[ctypes.c_char], read_memory_callback:c.CFUNCTYPE[uint64_t, [uint64_t, c.POINTER[ctypes.c_char], uint64_t, ctypes.c_void_p]], print_instruction_callback:c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p]], print_address_annotation_callback:c.CFUNCTYPE[None, [uint64_t, ctypes.c_void_p]], disassembly_info:c.POINTER[amd_comgr_disassembly_info_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_disassembly_info_t)
|
||||
def amd_comgr_destroy_disassembly_info(disassembly_info:amd_comgr_disassembly_info_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_disassembly_info_t, uint64_t, ctypes.c_void_p, c.POINTER[uint64_t])
|
||||
def amd_comgr_disassemble_instruction(disassembly_info:amd_comgr_disassembly_info_t, address:uint64_t, user_data:ctypes.c_void_p, size:c.POINTER[uint64_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[amd_comgr_data_t])
|
||||
def amd_comgr_demangle_symbol_name(mangled_symbol_name:amd_comgr_data_t, demangled_symbol_name:c.POINTER[amd_comgr_data_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t])
|
||||
def amd_comgr_populate_mangled_names(data:amd_comgr_data_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_get_mangled_name(data:amd_comgr_data_t, index:size_t, size:c.POINTER[size_t], mangled_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, size_t, c.POINTER[size_t], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_get_mangled_name(data:amd_comgr_data_t, index:size_t, size:c.POINTER[size_t], mangled_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t])
|
||||
def amd_comgr_populate_name_expression_map(data:amd_comgr_data_t, count:c.POINTER[size_t]) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_map_name_expression_to_symbol_name(data:amd_comgr_data_t, size:c.POINTER[size_t], name_expression:c.POINTER[Annotated[bytes, ctypes.c_char]], symbol_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> amd_comgr_status_t: ...
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[size_t], c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char])
|
||||
def amd_comgr_map_name_expression_to_symbol_name(data:amd_comgr_data_t, size:c.POINTER[size_t], name_expression:c.POINTER[ctypes.c_char], symbol_name:c.POINTER[ctypes.c_char]) -> amd_comgr_status_t: ...
|
||||
@c.record
|
||||
class code_object_info_s(c.Struct):
|
||||
SIZE = 24
|
||||
isa: Annotated[c.POINTER[Annotated[bytes, ctypes.c_char]], 0]
|
||||
size: Annotated[size_t, 8]
|
||||
offset: Annotated[uint64_t, 16]
|
||||
isa: c.POINTER[ctypes.c_char]
|
||||
size: int
|
||||
offset: int
|
||||
code_object_info_s.register_fields([('isa', c.POINTER[ctypes.c_char], 0), ('size', size_t, 8), ('offset', uint64_t, 16)])
|
||||
amd_comgr_code_object_info_t: TypeAlias = code_object_info_s
|
||||
@dll.bind
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, c.POINTER[amd_comgr_code_object_info_t], size_t)
|
||||
def amd_comgr_lookup_code_object(data:amd_comgr_data_t, info_list:c.POINTER[amd_comgr_code_object_info_t], info_list_size:size_t) -> amd_comgr_status_t: ...
|
||||
@dll.bind
|
||||
def amd_comgr_map_elf_virtual_address_to_code_object_offset(data:amd_comgr_data_t, elf_virtual_address:uint64_t, code_object_offset:c.POINTER[uint64_t], slice_size:c.POINTER[uint64_t], nobits:c.POINTER[Annotated[bool, ctypes.c_bool]]) -> amd_comgr_status_t: ...
|
||||
c.init_records()
|
||||
@dll.bind(amd_comgr_status_t, amd_comgr_data_t, uint64_t, c.POINTER[uint64_t], c.POINTER[uint64_t], c.POINTER[ctypes.c_bool])
|
||||
def amd_comgr_map_elf_virtual_address_to_code_object_offset(data:amd_comgr_data_t, elf_virtual_address:uint64_t, code_object_offset:c.POINTER[uint64_t], slice_size:c.POINTER[uint64_t], nobits:c.POINTER[ctypes.c_bool]) -> amd_comgr_status_t: ...
|
||||
AMD_COMGR_DEPRECATED = lambda msg: __attribute__((deprecated(msg))) # type: ignore
|
||||
AMD_COMGR_INTERFACE_VERSION_MAJOR = 3 # type: ignore
|
||||
AMD_COMGR_INTERFACE_VERSION_MINOR = 0 # type: ignore
|
||||
|
|
@ -1,232 +1,203 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
dll = c.DLL('corefoundation', 'CoreFoundation')
|
||||
CFStringEncoding: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
CFStringBuiltInEncodings: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
kCFStringEncodingMacRoman = _anonenum0.define('kCFStringEncodingMacRoman', 0)
|
||||
kCFStringEncodingWindowsLatin1 = _anonenum0.define('kCFStringEncodingWindowsLatin1', 1280)
|
||||
kCFStringEncodingISOLatin1 = _anonenum0.define('kCFStringEncodingISOLatin1', 513)
|
||||
kCFStringEncodingNextStepLatin = _anonenum0.define('kCFStringEncodingNextStepLatin', 2817)
|
||||
kCFStringEncodingASCII = _anonenum0.define('kCFStringEncodingASCII', 1536)
|
||||
kCFStringEncodingUnicode = _anonenum0.define('kCFStringEncodingUnicode', 256)
|
||||
kCFStringEncodingUTF8 = _anonenum0.define('kCFStringEncodingUTF8', 134217984)
|
||||
kCFStringEncodingNonLossyASCII = _anonenum0.define('kCFStringEncodingNonLossyASCII', 3071)
|
||||
kCFStringEncodingUTF16 = _anonenum0.define('kCFStringEncodingUTF16', 256)
|
||||
kCFStringEncodingUTF16BE = _anonenum0.define('kCFStringEncodingUTF16BE', 268435712)
|
||||
kCFStringEncodingUTF16LE = _anonenum0.define('kCFStringEncodingUTF16LE', 335544576)
|
||||
kCFStringEncodingUTF32 = _anonenum0.define('kCFStringEncodingUTF32', 201326848)
|
||||
kCFStringEncodingUTF32BE = _anonenum0.define('kCFStringEncodingUTF32BE', 402653440)
|
||||
kCFStringEncodingUTF32LE = _anonenum0.define('kCFStringEncodingUTF32LE', 469762304)
|
||||
|
||||
CFTypeID: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
CFStringEncoding: TypeAlias = ctypes.c_uint32
|
||||
CFStringBuiltInEncodings: TypeAlias = ctypes.c_uint32
|
||||
_anonenum0: dict[int, str] = {(kCFStringEncodingMacRoman:=0): 'kCFStringEncodingMacRoman', (kCFStringEncodingWindowsLatin1:=1280): 'kCFStringEncodingWindowsLatin1', (kCFStringEncodingISOLatin1:=513): 'kCFStringEncodingISOLatin1', (kCFStringEncodingNextStepLatin:=2817): 'kCFStringEncodingNextStepLatin', (kCFStringEncodingASCII:=1536): 'kCFStringEncodingASCII', (kCFStringEncodingUnicode:=256): 'kCFStringEncodingUnicode', (kCFStringEncodingUTF8:=134217984): 'kCFStringEncodingUTF8', (kCFStringEncodingNonLossyASCII:=3071): 'kCFStringEncodingNonLossyASCII', (kCFStringEncodingUTF16:=256): 'kCFStringEncodingUTF16', (kCFStringEncodingUTF16BE:=268435712): 'kCFStringEncodingUTF16BE', (kCFStringEncodingUTF16LE:=335544576): 'kCFStringEncodingUTF16LE', (kCFStringEncodingUTF32:=201326848): 'kCFStringEncodingUTF32', (kCFStringEncodingUTF32BE:=402653440): 'kCFStringEncodingUTF32BE', (kCFStringEncodingUTF32LE:=469762304): 'kCFStringEncodingUTF32LE'}
|
||||
CFTypeID: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(CFTypeID)
|
||||
def CFStringGetTypeID() -> CFTypeID: ...
|
||||
class struct___CFAllocator(c.Struct): SIZE = 0
|
||||
CFAllocatorRef: TypeAlias = c.POINTER[struct___CFAllocator]
|
||||
ConstStr255Param: TypeAlias = c.POINTER[Annotated[int, ctypes.c_ubyte]]
|
||||
class struct___CFString(c.Struct): SIZE = 0
|
||||
class struct___CFString(c.Struct): pass
|
||||
CFStringRef: TypeAlias = c.POINTER[struct___CFString]
|
||||
@dll.bind
|
||||
class struct___CFAllocator(c.Struct): pass
|
||||
CFAllocatorRef: TypeAlias = c.POINTER[struct___CFAllocator]
|
||||
ConstStr255Param: TypeAlias = c.POINTER[ctypes.c_ubyte]
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, ConstStr255Param, CFStringEncoding)
|
||||
def CFStringCreateWithPascalString(alloc:CFAllocatorRef, pStr:ConstStr255Param, encoding:CFStringEncoding) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
def CFStringCreateWithCString(alloc:CFAllocatorRef, cStr:c.POINTER[Annotated[bytes, ctypes.c_char]], encoding:CFStringEncoding) -> CFStringRef: ...
|
||||
UInt8: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
||||
CFIndex: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
Boolean: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, c.POINTER[ctypes.c_char], CFStringEncoding)
|
||||
def CFStringCreateWithCString(alloc:CFAllocatorRef, cStr:c.POINTER[ctypes.c_char], encoding:CFStringEncoding) -> CFStringRef: ...
|
||||
UInt8: TypeAlias = ctypes.c_ubyte
|
||||
CFIndex: TypeAlias = ctypes.c_int64
|
||||
Boolean: TypeAlias = ctypes.c_ubyte
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, c.POINTER[UInt8], CFIndex, CFStringEncoding, Boolean)
|
||||
def CFStringCreateWithBytes(alloc:CFAllocatorRef, bytes:c.POINTER[UInt8], numBytes:CFIndex, encoding:CFStringEncoding, isExternalRepresentation:Boolean) -> CFStringRef: ...
|
||||
UniChar: TypeAlias = Annotated[int, ctypes.c_uint16]
|
||||
@dll.bind
|
||||
UniChar: TypeAlias = ctypes.c_uint16
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, c.POINTER[UniChar], CFIndex)
|
||||
def CFStringCreateWithCharacters(alloc:CFAllocatorRef, chars:c.POINTER[UniChar], numChars:CFIndex) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, ConstStr255Param, CFStringEncoding, CFAllocatorRef)
|
||||
def CFStringCreateWithPascalStringNoCopy(alloc:CFAllocatorRef, pStr:ConstStr255Param, encoding:CFStringEncoding, contentsDeallocator:CFAllocatorRef) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
def CFStringCreateWithCStringNoCopy(alloc:CFAllocatorRef, cStr:c.POINTER[Annotated[bytes, ctypes.c_char]], encoding:CFStringEncoding, contentsDeallocator:CFAllocatorRef) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, c.POINTER[ctypes.c_char], CFStringEncoding, CFAllocatorRef)
|
||||
def CFStringCreateWithCStringNoCopy(alloc:CFAllocatorRef, cStr:c.POINTER[ctypes.c_char], encoding:CFStringEncoding, contentsDeallocator:CFAllocatorRef) -> CFStringRef: ...
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, c.POINTER[UInt8], CFIndex, CFStringEncoding, Boolean, CFAllocatorRef)
|
||||
def CFStringCreateWithBytesNoCopy(alloc:CFAllocatorRef, bytes:c.POINTER[UInt8], numBytes:CFIndex, encoding:CFStringEncoding, isExternalRepresentation:Boolean, contentsDeallocator:CFAllocatorRef) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, c.POINTER[UniChar], CFIndex, CFAllocatorRef)
|
||||
def CFStringCreateWithCharactersNoCopy(alloc:CFAllocatorRef, chars:c.POINTER[UniChar], numChars:CFIndex, contentsDeallocator:CFAllocatorRef) -> CFStringRef: ...
|
||||
@c.record
|
||||
class CFRange(c.Struct):
|
||||
SIZE = 16
|
||||
location: Annotated[CFIndex, 0]
|
||||
length: Annotated[CFIndex, 8]
|
||||
@dll.bind
|
||||
location: int
|
||||
length: int
|
||||
CFRange.register_fields([('location', CFIndex, 0), ('length', CFIndex, 8)])
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, CFStringRef, CFRange)
|
||||
def CFStringCreateWithSubstring(alloc:CFAllocatorRef, str:CFStringRef, range:CFRange) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, CFStringRef)
|
||||
def CFStringCreateCopy(alloc:CFAllocatorRef, theString:CFStringRef) -> CFStringRef: ...
|
||||
class struct___CFDictionary(c.Struct): SIZE = 0
|
||||
class struct___CFDictionary(c.Struct): pass
|
||||
CFDictionaryRef: TypeAlias = c.POINTER[struct___CFDictionary]
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, CFDictionaryRef, CFStringRef)
|
||||
def CFStringCreateWithFormat(alloc:CFAllocatorRef, formatOptions:CFDictionaryRef, format:CFStringRef) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
def CFStringCreateWithFormatAndArguments(alloc:CFAllocatorRef, formatOptions:CFDictionaryRef, format:CFStringRef, arguments:Annotated[int, ctypes.c_int32]) -> CFStringRef: ...
|
||||
class struct___CFError(c.Struct): SIZE = 0
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, CFDictionaryRef, CFStringRef, ctypes.c_int32)
|
||||
def CFStringCreateWithFormatAndArguments(alloc:CFAllocatorRef, formatOptions:CFDictionaryRef, format:CFStringRef, arguments:int) -> CFStringRef: ...
|
||||
class struct___CFError(c.Struct): pass
|
||||
CFErrorRef: TypeAlias = c.POINTER[struct___CFError]
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, CFDictionaryRef, CFStringRef, CFStringRef, c.POINTER[CFErrorRef])
|
||||
def CFStringCreateStringWithValidatedFormat(alloc:CFAllocatorRef, formatOptions:CFDictionaryRef, validFormatSpecifiers:CFStringRef, format:CFStringRef, errorPtr:c.POINTER[CFErrorRef]) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
def CFStringCreateStringWithValidatedFormatAndArguments(alloc:CFAllocatorRef, formatOptions:CFDictionaryRef, validFormatSpecifiers:CFStringRef, format:CFStringRef, arguments:Annotated[int, ctypes.c_int32], errorPtr:c.POINTER[CFErrorRef]) -> CFStringRef: ...
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, CFDictionaryRef, CFStringRef, CFStringRef, ctypes.c_int32, c.POINTER[CFErrorRef])
|
||||
def CFStringCreateStringWithValidatedFormatAndArguments(alloc:CFAllocatorRef, formatOptions:CFDictionaryRef, validFormatSpecifiers:CFStringRef, format:CFStringRef, arguments:int, errorPtr:c.POINTER[CFErrorRef]) -> CFStringRef: ...
|
||||
CFMutableStringRef: TypeAlias = c.POINTER[struct___CFString]
|
||||
@dll.bind
|
||||
@dll.bind(CFMutableStringRef, CFAllocatorRef, CFIndex)
|
||||
def CFStringCreateMutable(alloc:CFAllocatorRef, maxLength:CFIndex) -> CFMutableStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFMutableStringRef, CFAllocatorRef, CFIndex, CFStringRef)
|
||||
def CFStringCreateMutableCopy(alloc:CFAllocatorRef, maxLength:CFIndex, theString:CFStringRef) -> CFMutableStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFMutableStringRef, CFAllocatorRef, c.POINTER[UniChar], CFIndex, CFIndex, CFAllocatorRef)
|
||||
def CFStringCreateMutableWithExternalCharactersNoCopy(alloc:CFAllocatorRef, chars:c.POINTER[UniChar], numChars:CFIndex, capacity:CFIndex, externalCharactersAllocator:CFAllocatorRef) -> CFMutableStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFIndex, CFStringRef)
|
||||
def CFStringGetLength(theString:CFStringRef) -> CFIndex: ...
|
||||
@dll.bind
|
||||
@dll.bind(UniChar, CFStringRef, CFIndex)
|
||||
def CFStringGetCharacterAtIndex(theString:CFStringRef, idx:CFIndex) -> UniChar: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFStringRef, CFRange, c.POINTER[UniChar])
|
||||
def CFStringGetCharacters(theString:CFStringRef, range:CFRange, buffer:c.POINTER[UniChar]) -> None: ...
|
||||
StringPtr: TypeAlias = c.POINTER[Annotated[int, ctypes.c_ubyte]]
|
||||
@dll.bind
|
||||
StringPtr: TypeAlias = c.POINTER[ctypes.c_ubyte]
|
||||
@dll.bind(Boolean, CFStringRef, StringPtr, CFIndex, CFStringEncoding)
|
||||
def CFStringGetPascalString(theString:CFStringRef, buffer:StringPtr, bufferSize:CFIndex, encoding:CFStringEncoding) -> Boolean: ...
|
||||
@dll.bind
|
||||
def CFStringGetCString(theString:CFStringRef, buffer:c.POINTER[Annotated[bytes, ctypes.c_char]], bufferSize:CFIndex, encoding:CFStringEncoding) -> Boolean: ...
|
||||
ConstStringPtr: TypeAlias = c.POINTER[Annotated[int, ctypes.c_ubyte]]
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFStringRef, c.POINTER[ctypes.c_char], CFIndex, CFStringEncoding)
|
||||
def CFStringGetCString(theString:CFStringRef, buffer:c.POINTER[ctypes.c_char], bufferSize:CFIndex, encoding:CFStringEncoding) -> Boolean: ...
|
||||
ConstStringPtr: TypeAlias = c.POINTER[ctypes.c_ubyte]
|
||||
@dll.bind(ConstStringPtr, CFStringRef, CFStringEncoding)
|
||||
def CFStringGetPascalStringPtr(theString:CFStringRef, encoding:CFStringEncoding) -> ConstStringPtr: ...
|
||||
@dll.bind
|
||||
def CFStringGetCStringPtr(theString:CFStringRef, encoding:CFStringEncoding) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
||||
@dll.bind
|
||||
@dll.bind(c.POINTER[ctypes.c_char], CFStringRef, CFStringEncoding)
|
||||
def CFStringGetCStringPtr(theString:CFStringRef, encoding:CFStringEncoding) -> c.POINTER[ctypes.c_char]: ...
|
||||
@dll.bind(c.POINTER[UniChar], CFStringRef)
|
||||
def CFStringGetCharactersPtr(theString:CFStringRef) -> c.POINTER[UniChar]: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFIndex, CFStringRef, CFRange, CFStringEncoding, UInt8, Boolean, c.POINTER[UInt8], CFIndex, c.POINTER[CFIndex])
|
||||
def CFStringGetBytes(theString:CFStringRef, range:CFRange, encoding:CFStringEncoding, lossByte:UInt8, isExternalRepresentation:Boolean, buffer:c.POINTER[UInt8], maxBufLen:CFIndex, usedBufLen:c.POINTER[CFIndex]) -> CFIndex: ...
|
||||
class struct___CFData(c.Struct): SIZE = 0
|
||||
class struct___CFData(c.Struct): pass
|
||||
CFDataRef: TypeAlias = c.POINTER[struct___CFData]
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, CFDataRef, CFStringEncoding)
|
||||
def CFStringCreateFromExternalRepresentation(alloc:CFAllocatorRef, data:CFDataRef, encoding:CFStringEncoding) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFDataRef, CFAllocatorRef, CFStringRef, CFStringEncoding, UInt8)
|
||||
def CFStringCreateExternalRepresentation(alloc:CFAllocatorRef, theString:CFStringRef, encoding:CFStringEncoding, lossByte:UInt8) -> CFDataRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringEncoding, CFStringRef)
|
||||
def CFStringGetSmallestEncoding(theString:CFStringRef) -> CFStringEncoding: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringEncoding, CFStringRef)
|
||||
def CFStringGetFastestEncoding(theString:CFStringRef) -> CFStringEncoding: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringEncoding)
|
||||
def CFStringGetSystemEncoding() -> CFStringEncoding: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFIndex, CFIndex, CFStringEncoding)
|
||||
def CFStringGetMaximumSizeForEncoding(length:CFIndex, encoding:CFStringEncoding) -> CFIndex: ...
|
||||
@dll.bind
|
||||
def CFStringGetFileSystemRepresentation(string:CFStringRef, buffer:c.POINTER[Annotated[bytes, ctypes.c_char]], maxBufLen:CFIndex) -> Boolean: ...
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFStringRef, c.POINTER[ctypes.c_char], CFIndex)
|
||||
def CFStringGetFileSystemRepresentation(string:CFStringRef, buffer:c.POINTER[ctypes.c_char], maxBufLen:CFIndex) -> Boolean: ...
|
||||
@dll.bind(CFIndex, CFStringRef)
|
||||
def CFStringGetMaximumSizeOfFileSystemRepresentation(string:CFStringRef) -> CFIndex: ...
|
||||
@dll.bind
|
||||
def CFStringCreateWithFileSystemRepresentation(alloc:CFAllocatorRef, buffer:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> CFStringRef: ...
|
||||
CFStringCompareFlags: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
class _anonenum1(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
kCFCompareCaseInsensitive = _anonenum1.define('kCFCompareCaseInsensitive', 1)
|
||||
kCFCompareBackwards = _anonenum1.define('kCFCompareBackwards', 4)
|
||||
kCFCompareAnchored = _anonenum1.define('kCFCompareAnchored', 8)
|
||||
kCFCompareNonliteral = _anonenum1.define('kCFCompareNonliteral', 16)
|
||||
kCFCompareLocalized = _anonenum1.define('kCFCompareLocalized', 32)
|
||||
kCFCompareNumerically = _anonenum1.define('kCFCompareNumerically', 64)
|
||||
kCFCompareDiacriticInsensitive = _anonenum1.define('kCFCompareDiacriticInsensitive', 128)
|
||||
kCFCompareWidthInsensitive = _anonenum1.define('kCFCompareWidthInsensitive', 256)
|
||||
kCFCompareForcedOrdering = _anonenum1.define('kCFCompareForcedOrdering', 512)
|
||||
|
||||
class struct___CFLocale(c.Struct): SIZE = 0
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, c.POINTER[ctypes.c_char])
|
||||
def CFStringCreateWithFileSystemRepresentation(alloc:CFAllocatorRef, buffer:c.POINTER[ctypes.c_char]) -> CFStringRef: ...
|
||||
CFStringCompareFlags: TypeAlias = ctypes.c_uint64
|
||||
_anonenum1: dict[int, str] = {(kCFCompareCaseInsensitive:=1): 'kCFCompareCaseInsensitive', (kCFCompareBackwards:=4): 'kCFCompareBackwards', (kCFCompareAnchored:=8): 'kCFCompareAnchored', (kCFCompareNonliteral:=16): 'kCFCompareNonliteral', (kCFCompareLocalized:=32): 'kCFCompareLocalized', (kCFCompareNumerically:=64): 'kCFCompareNumerically', (kCFCompareDiacriticInsensitive:=128): 'kCFCompareDiacriticInsensitive', (kCFCompareWidthInsensitive:=256): 'kCFCompareWidthInsensitive', (kCFCompareForcedOrdering:=512): 'kCFCompareForcedOrdering'}
|
||||
CFComparisonResult: TypeAlias = ctypes.c_int64
|
||||
class struct___CFLocale(c.Struct): pass
|
||||
CFLocaleRef: TypeAlias = c.POINTER[struct___CFLocale]
|
||||
CFComparisonResult: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
@dll.bind
|
||||
@dll.bind(CFComparisonResult, CFStringRef, CFStringRef, CFRange, CFStringCompareFlags, CFLocaleRef)
|
||||
def CFStringCompareWithOptionsAndLocale(theString1:CFStringRef, theString2:CFStringRef, rangeToCompare:CFRange, compareOptions:CFStringCompareFlags, locale:CFLocaleRef) -> CFComparisonResult: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFComparisonResult, CFStringRef, CFStringRef, CFRange, CFStringCompareFlags)
|
||||
def CFStringCompareWithOptions(theString1:CFStringRef, theString2:CFStringRef, rangeToCompare:CFRange, compareOptions:CFStringCompareFlags) -> CFComparisonResult: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFComparisonResult, CFStringRef, CFStringRef, CFStringCompareFlags)
|
||||
def CFStringCompare(theString1:CFStringRef, theString2:CFStringRef, compareOptions:CFStringCompareFlags) -> CFComparisonResult: ...
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFStringRef, CFStringRef, CFRange, CFStringCompareFlags, CFLocaleRef, c.POINTER[CFRange])
|
||||
def CFStringFindWithOptionsAndLocale(theString:CFStringRef, stringToFind:CFStringRef, rangeToSearch:CFRange, searchOptions:CFStringCompareFlags, locale:CFLocaleRef, result:c.POINTER[CFRange]) -> Boolean: ...
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFStringRef, CFStringRef, CFRange, CFStringCompareFlags, c.POINTER[CFRange])
|
||||
def CFStringFindWithOptions(theString:CFStringRef, stringToFind:CFStringRef, rangeToSearch:CFRange, searchOptions:CFStringCompareFlags, result:c.POINTER[CFRange]) -> Boolean: ...
|
||||
class struct___CFArray(c.Struct): SIZE = 0
|
||||
class struct___CFArray(c.Struct): pass
|
||||
CFArrayRef: TypeAlias = c.POINTER[struct___CFArray]
|
||||
@dll.bind
|
||||
@dll.bind(CFArrayRef, CFAllocatorRef, CFStringRef, CFStringRef, CFRange, CFStringCompareFlags)
|
||||
def CFStringCreateArrayWithFindResults(alloc:CFAllocatorRef, theString:CFStringRef, stringToFind:CFStringRef, rangeToSearch:CFRange, compareOptions:CFStringCompareFlags) -> CFArrayRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFRange, CFStringRef, CFStringRef, CFStringCompareFlags)
|
||||
def CFStringFind(theString:CFStringRef, stringToFind:CFStringRef, compareOptions:CFStringCompareFlags) -> CFRange: ...
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFStringRef, CFStringRef)
|
||||
def CFStringHasPrefix(theString:CFStringRef, prefix:CFStringRef) -> Boolean: ...
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFStringRef, CFStringRef)
|
||||
def CFStringHasSuffix(theString:CFStringRef, suffix:CFStringRef) -> Boolean: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFRange, CFStringRef, CFIndex)
|
||||
def CFStringGetRangeOfComposedCharactersAtIndex(theString:CFStringRef, theIndex:CFIndex) -> CFRange: ...
|
||||
class struct___CFCharacterSet(c.Struct): SIZE = 0
|
||||
class struct___CFCharacterSet(c.Struct): pass
|
||||
CFCharacterSetRef: TypeAlias = c.POINTER[struct___CFCharacterSet]
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFStringRef, CFCharacterSetRef, CFRange, CFStringCompareFlags, c.POINTER[CFRange])
|
||||
def CFStringFindCharacterFromSet(theString:CFStringRef, theSet:CFCharacterSetRef, rangeToSearch:CFRange, searchOptions:CFStringCompareFlags, result:c.POINTER[CFRange]) -> Boolean: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFStringRef, CFRange, c.POINTER[CFIndex], c.POINTER[CFIndex], c.POINTER[CFIndex])
|
||||
def CFStringGetLineBounds(theString:CFStringRef, range:CFRange, lineBeginIndex:c.POINTER[CFIndex], lineEndIndex:c.POINTER[CFIndex], contentsEndIndex:c.POINTER[CFIndex]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFStringRef, CFRange, c.POINTER[CFIndex], c.POINTER[CFIndex], c.POINTER[CFIndex])
|
||||
def CFStringGetParagraphBounds(string:CFStringRef, range:CFRange, parBeginIndex:c.POINTER[CFIndex], parEndIndex:c.POINTER[CFIndex], contentsEndIndex:c.POINTER[CFIndex]) -> None: ...
|
||||
CFOptionFlags: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
UTF32Char: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
CFOptionFlags: TypeAlias = ctypes.c_uint64
|
||||
UTF32Char: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(CFIndex, CFStringRef, CFIndex, CFRange, CFOptionFlags, CFLocaleRef, c.POINTER[UTF32Char])
|
||||
def CFStringGetHyphenationLocationBeforeIndex(string:CFStringRef, location:CFIndex, limitRange:CFRange, options:CFOptionFlags, locale:CFLocaleRef, character:c.POINTER[UTF32Char]) -> CFIndex: ...
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFLocaleRef)
|
||||
def CFStringIsHyphenationAvailableForLocale(locale:CFLocaleRef) -> Boolean: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFAllocatorRef, CFArrayRef, CFStringRef)
|
||||
def CFStringCreateByCombiningStrings(alloc:CFAllocatorRef, theArray:CFArrayRef, separatorString:CFStringRef) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFArrayRef, CFAllocatorRef, CFStringRef, CFStringRef)
|
||||
def CFStringCreateArrayBySeparatingStrings(alloc:CFAllocatorRef, theString:CFStringRef, separatorString:CFStringRef) -> CFArrayRef: ...
|
||||
SInt32: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
@dll.bind
|
||||
SInt32: TypeAlias = ctypes.c_int32
|
||||
@dll.bind(SInt32, CFStringRef)
|
||||
def CFStringGetIntValue(str:CFStringRef) -> SInt32: ...
|
||||
@dll.bind
|
||||
def CFStringGetDoubleValue(str:CFStringRef) -> Annotated[float, ctypes.c_double]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_double, CFStringRef)
|
||||
def CFStringGetDoubleValue(str:CFStringRef) -> float: ...
|
||||
@dll.bind(None, CFMutableStringRef, CFStringRef)
|
||||
def CFStringAppend(theString:CFMutableStringRef, appendedString:CFStringRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, c.POINTER[UniChar], CFIndex)
|
||||
def CFStringAppendCharacters(theString:CFMutableStringRef, chars:c.POINTER[UniChar], numChars:CFIndex) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, ConstStr255Param, CFStringEncoding)
|
||||
def CFStringAppendPascalString(theString:CFMutableStringRef, pStr:ConstStr255Param, encoding:CFStringEncoding) -> None: ...
|
||||
@dll.bind
|
||||
def CFStringAppendCString(theString:CFMutableStringRef, cStr:c.POINTER[Annotated[bytes, ctypes.c_char]], encoding:CFStringEncoding) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, c.POINTER[ctypes.c_char], CFStringEncoding)
|
||||
def CFStringAppendCString(theString:CFMutableStringRef, cStr:c.POINTER[ctypes.c_char], encoding:CFStringEncoding) -> None: ...
|
||||
@dll.bind(None, CFMutableStringRef, CFDictionaryRef, CFStringRef)
|
||||
def CFStringAppendFormat(theString:CFMutableStringRef, formatOptions:CFDictionaryRef, format:CFStringRef) -> None: ...
|
||||
@dll.bind
|
||||
def CFStringAppendFormatAndArguments(theString:CFMutableStringRef, formatOptions:CFDictionaryRef, format:CFStringRef, arguments:Annotated[int, ctypes.c_int32]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFDictionaryRef, CFStringRef, ctypes.c_int32)
|
||||
def CFStringAppendFormatAndArguments(theString:CFMutableStringRef, formatOptions:CFDictionaryRef, format:CFStringRef, arguments:int) -> None: ...
|
||||
@dll.bind(None, CFMutableStringRef, CFIndex, CFStringRef)
|
||||
def CFStringInsert(str:CFMutableStringRef, idx:CFIndex, insertedStr:CFStringRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFRange)
|
||||
def CFStringDelete(theString:CFMutableStringRef, range:CFRange) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFRange, CFStringRef)
|
||||
def CFStringReplace(theString:CFMutableStringRef, range:CFRange, replacement:CFStringRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFStringRef)
|
||||
def CFStringReplaceAll(theString:CFMutableStringRef, replacement:CFStringRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFIndex, CFMutableStringRef, CFStringRef, CFStringRef, CFRange, CFStringCompareFlags)
|
||||
def CFStringFindAndReplace(theString:CFMutableStringRef, stringToFind:CFStringRef, replacementString:CFStringRef, rangeToSearch:CFRange, compareOptions:CFStringCompareFlags) -> CFIndex: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, c.POINTER[UniChar], CFIndex, CFIndex)
|
||||
def CFStringSetExternalCharactersNoCopy(theString:CFMutableStringRef, chars:c.POINTER[UniChar], length:CFIndex, capacity:CFIndex) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFStringRef, CFIndex, CFIndex)
|
||||
def CFStringPad(theString:CFMutableStringRef, padString:CFStringRef, length:CFIndex, indexIntoPad:CFIndex) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFStringRef)
|
||||
def CFStringTrim(theString:CFMutableStringRef, trimString:CFStringRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef)
|
||||
def CFStringTrimWhitespace(theString:CFMutableStringRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFLocaleRef)
|
||||
def CFStringLowercase(theString:CFMutableStringRef, locale:CFLocaleRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFLocaleRef)
|
||||
def CFStringUppercase(theString:CFMutableStringRef, locale:CFLocaleRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFLocaleRef)
|
||||
def CFStringCapitalize(theString:CFMutableStringRef, locale:CFLocaleRef) -> None: ...
|
||||
CFStringNormalizationForm: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
class _anonenum2(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
kCFStringNormalizationFormD = _anonenum2.define('kCFStringNormalizationFormD', 0)
|
||||
kCFStringNormalizationFormKD = _anonenum2.define('kCFStringNormalizationFormKD', 1)
|
||||
kCFStringNormalizationFormC = _anonenum2.define('kCFStringNormalizationFormC', 2)
|
||||
kCFStringNormalizationFormKC = _anonenum2.define('kCFStringNormalizationFormKC', 3)
|
||||
|
||||
@dll.bind
|
||||
CFStringNormalizationForm: TypeAlias = ctypes.c_int64
|
||||
_anonenum2: dict[int, str] = {(kCFStringNormalizationFormD:=0): 'kCFStringNormalizationFormD', (kCFStringNormalizationFormKD:=1): 'kCFStringNormalizationFormKD', (kCFStringNormalizationFormC:=2): 'kCFStringNormalizationFormC', (kCFStringNormalizationFormKC:=3): 'kCFStringNormalizationFormKC'}
|
||||
@dll.bind(None, CFMutableStringRef, CFStringNormalizationForm)
|
||||
def CFStringNormalize(theString:CFMutableStringRef, theForm:CFStringNormalizationForm) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableStringRef, CFStringCompareFlags, CFLocaleRef)
|
||||
def CFStringFold(theString:CFMutableStringRef, theFlags:CFStringCompareFlags, theLocale:CFLocaleRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFMutableStringRef, c.POINTER[CFRange], CFStringRef, Boolean)
|
||||
def CFStringTransform(string:CFMutableStringRef, range:c.POINTER[CFRange], transform:CFStringRef, reverse:Boolean) -> Boolean: ...
|
||||
try: kCFStringTransformStripCombiningMarks = CFStringRef.in_dll(dll, 'kCFStringTransformStripCombiningMarks') # type: ignore
|
||||
except (ValueError,AttributeError): pass
|
||||
|
|
@ -260,83 +231,80 @@ try: kCFStringTransformToUnicodeName = CFStringRef.in_dll(dll, 'kCFStringTransfo
|
|||
except (ValueError,AttributeError): pass
|
||||
try: kCFStringTransformStripDiacritics = CFStringRef.in_dll(dll, 'kCFStringTransformStripDiacritics') # type: ignore
|
||||
except (ValueError,AttributeError): pass
|
||||
@dll.bind
|
||||
@dll.bind(Boolean, CFStringEncoding)
|
||||
def CFStringIsEncodingAvailable(encoding:CFStringEncoding) -> Boolean: ...
|
||||
@dll.bind
|
||||
@dll.bind(c.POINTER[CFStringEncoding])
|
||||
def CFStringGetListOfAvailableEncodings() -> c.POINTER[CFStringEncoding]: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFStringEncoding)
|
||||
def CFStringGetNameOfEncoding(encoding:CFStringEncoding) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
def CFStringConvertEncodingToNSStringEncoding(encoding:CFStringEncoding) -> Annotated[int, ctypes.c_uint64]: ...
|
||||
@dll.bind
|
||||
def CFStringConvertNSStringEncodingToEncoding(encoding:Annotated[int, ctypes.c_uint64]) -> CFStringEncoding: ...
|
||||
UInt32: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_uint64, CFStringEncoding)
|
||||
def CFStringConvertEncodingToNSStringEncoding(encoding:CFStringEncoding) -> int: ...
|
||||
@dll.bind(CFStringEncoding, ctypes.c_uint64)
|
||||
def CFStringConvertNSStringEncodingToEncoding(encoding:int) -> CFStringEncoding: ...
|
||||
UInt32: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(UInt32, CFStringEncoding)
|
||||
def CFStringConvertEncodingToWindowsCodepage(encoding:CFStringEncoding) -> UInt32: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringEncoding, UInt32)
|
||||
def CFStringConvertWindowsCodepageToEncoding(codepage:UInt32) -> CFStringEncoding: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringEncoding, CFStringRef)
|
||||
def CFStringConvertIANACharSetNameToEncoding(theString:CFStringRef) -> CFStringEncoding: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFStringEncoding)
|
||||
def CFStringConvertEncodingToIANACharSetName(encoding:CFStringEncoding) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringEncoding, CFStringEncoding)
|
||||
def CFStringGetMostCompatibleMacStringEncoding(encoding:CFStringEncoding) -> CFStringEncoding: ...
|
||||
@c.record
|
||||
class CFStringInlineBuffer(c.Struct):
|
||||
SIZE = 184
|
||||
buffer: Annotated[c.Array[UniChar, Literal[64]], 0]
|
||||
theString: Annotated[CFStringRef, 128]
|
||||
directUniCharBuffer: Annotated[c.POINTER[UniChar], 136]
|
||||
directCStringBuffer: Annotated[c.POINTER[Annotated[bytes, ctypes.c_char]], 144]
|
||||
rangeToBuffer: Annotated[CFRange, 152]
|
||||
bufferedRangeStart: Annotated[CFIndex, 168]
|
||||
bufferedRangeEnd: Annotated[CFIndex, 176]
|
||||
buffer: c.Array[ctypes.c_uint16, Literal[64]]
|
||||
theString: c.POINTER[struct___CFString]
|
||||
directUniCharBuffer: c.POINTER[ctypes.c_uint16]
|
||||
directCStringBuffer: c.POINTER[ctypes.c_char]
|
||||
rangeToBuffer: CFRange
|
||||
bufferedRangeStart: int
|
||||
bufferedRangeEnd: int
|
||||
CFStringInlineBuffer.register_fields([('buffer', c.Array[UniChar, Literal[64]], 0), ('theString', CFStringRef, 128), ('directUniCharBuffer', c.POINTER[UniChar], 136), ('directCStringBuffer', c.POINTER[ctypes.c_char], 144), ('rangeToBuffer', CFRange, 152), ('bufferedRangeStart', CFIndex, 168), ('bufferedRangeEnd', CFIndex, 176)])
|
||||
CFTypeRef: TypeAlias = ctypes.c_void_p
|
||||
@dll.bind
|
||||
@dll.bind(None, CFTypeRef)
|
||||
def CFShow(obj:CFTypeRef) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFStringRef)
|
||||
def CFShowStr(str:CFStringRef) -> None: ...
|
||||
@dll.bind
|
||||
def __CFStringMakeConstantString(cStr:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> CFStringRef: ...
|
||||
@dll.bind(CFStringRef, c.POINTER[ctypes.c_char])
|
||||
def __CFStringMakeConstantString(cStr:c.POINTER[ctypes.c_char]) -> CFStringRef: ...
|
||||
CFMutableDataRef: TypeAlias = c.POINTER[struct___CFData]
|
||||
@dll.bind
|
||||
@dll.bind(CFTypeID)
|
||||
def CFDataGetTypeID() -> CFTypeID: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFDataRef, CFAllocatorRef, c.POINTER[UInt8], CFIndex)
|
||||
def CFDataCreate(allocator:CFAllocatorRef, bytes:c.POINTER[UInt8], length:CFIndex) -> CFDataRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFDataRef, CFAllocatorRef, c.POINTER[UInt8], CFIndex, CFAllocatorRef)
|
||||
def CFDataCreateWithBytesNoCopy(allocator:CFAllocatorRef, bytes:c.POINTER[UInt8], length:CFIndex, bytesDeallocator:CFAllocatorRef) -> CFDataRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFDataRef, CFAllocatorRef, CFDataRef)
|
||||
def CFDataCreateCopy(allocator:CFAllocatorRef, theData:CFDataRef) -> CFDataRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFMutableDataRef, CFAllocatorRef, CFIndex)
|
||||
def CFDataCreateMutable(allocator:CFAllocatorRef, capacity:CFIndex) -> CFMutableDataRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFMutableDataRef, CFAllocatorRef, CFIndex, CFDataRef)
|
||||
def CFDataCreateMutableCopy(allocator:CFAllocatorRef, capacity:CFIndex, theData:CFDataRef) -> CFMutableDataRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFIndex, CFDataRef)
|
||||
def CFDataGetLength(theData:CFDataRef) -> CFIndex: ...
|
||||
@dll.bind
|
||||
@dll.bind(c.POINTER[UInt8], CFDataRef)
|
||||
def CFDataGetBytePtr(theData:CFDataRef) -> c.POINTER[UInt8]: ...
|
||||
@dll.bind
|
||||
@dll.bind(c.POINTER[UInt8], CFMutableDataRef)
|
||||
def CFDataGetMutableBytePtr(theData:CFMutableDataRef) -> c.POINTER[UInt8]: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFDataRef, CFRange, c.POINTER[UInt8])
|
||||
def CFDataGetBytes(theData:CFDataRef, range:CFRange, buffer:c.POINTER[UInt8]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableDataRef, CFIndex)
|
||||
def CFDataSetLength(theData:CFMutableDataRef, length:CFIndex) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableDataRef, CFIndex)
|
||||
def CFDataIncreaseLength(theData:CFMutableDataRef, extraLength:CFIndex) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableDataRef, c.POINTER[UInt8], CFIndex)
|
||||
def CFDataAppendBytes(theData:CFMutableDataRef, bytes:c.POINTER[UInt8], length:CFIndex) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableDataRef, CFRange, c.POINTER[UInt8], CFIndex)
|
||||
def CFDataReplaceBytes(theData:CFMutableDataRef, range:CFRange, newBytes:c.POINTER[UInt8], newLength:CFIndex) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, CFMutableDataRef, CFRange)
|
||||
def CFDataDeleteBytes(theData:CFMutableDataRef, range:CFRange) -> None: ...
|
||||
CFDataSearchFlags: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
class _anonenum3(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
kCFDataSearchBackwards = _anonenum3.define('kCFDataSearchBackwards', 1)
|
||||
kCFDataSearchAnchored = _anonenum3.define('kCFDataSearchAnchored', 2)
|
||||
|
||||
@dll.bind
|
||||
CFDataSearchFlags: TypeAlias = ctypes.c_uint64
|
||||
_anonenum3: dict[int, str] = {(kCFDataSearchBackwards:=1): 'kCFDataSearchBackwards', (kCFDataSearchAnchored:=2): 'kCFDataSearchAnchored'}
|
||||
@dll.bind(CFRange, CFDataRef, CFDataRef, CFRange, CFDataSearchFlags)
|
||||
def CFDataFind(theData:CFDataRef, dataToFind:CFDataRef, searchRange:CFRange, compareOptions:CFDataSearchFlags) -> CFRange: ...
|
||||
c.init_records()
|
||||
__COREFOUNDATION_CFSTRING__ = 1 # type: ignore
|
||||
kCFStringEncodingInvalidId = (0xffffffff) # type: ignore
|
||||
CF_FORMAT_FUNCTION = lambda F,A: __attribute__((format(CFString, F, A))) # type: ignore
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
|
|
@ -1,561 +1,447 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
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_io_uring_sq(c.Struct):
|
||||
SIZE = 104
|
||||
khead: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 0]
|
||||
ktail: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 8]
|
||||
kring_mask: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 16]
|
||||
kring_entries: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 24]
|
||||
kflags: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 32]
|
||||
kdropped: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 40]
|
||||
array: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 48]
|
||||
sqes: Annotated[c.POINTER[struct_io_uring_sqe], 56]
|
||||
sqe_head: Annotated[Annotated[int, ctypes.c_uint32], 64]
|
||||
sqe_tail: Annotated[Annotated[int, ctypes.c_uint32], 68]
|
||||
ring_sz: Annotated[size_t, 72]
|
||||
ring_ptr: Annotated[ctypes.c_void_p, 80]
|
||||
ring_mask: Annotated[Annotated[int, ctypes.c_uint32], 88]
|
||||
ring_entries: Annotated[Annotated[int, ctypes.c_uint32], 92]
|
||||
sqes_sz: Annotated[Annotated[int, ctypes.c_uint32], 96]
|
||||
pad: Annotated[Annotated[int, ctypes.c_uint32], 100]
|
||||
khead: c.POINTER[ctypes.c_uint32]
|
||||
ktail: c.POINTER[ctypes.c_uint32]
|
||||
kring_mask: c.POINTER[ctypes.c_uint32]
|
||||
kring_entries: c.POINTER[ctypes.c_uint32]
|
||||
kflags: c.POINTER[ctypes.c_uint32]
|
||||
kdropped: c.POINTER[ctypes.c_uint32]
|
||||
array: c.POINTER[ctypes.c_uint32]
|
||||
sqes: c.POINTER[struct_io_uring_sqe]
|
||||
sqe_head: int
|
||||
sqe_tail: int
|
||||
ring_sz: int
|
||||
ring_ptr: ctypes.c_void_p
|
||||
ring_mask: int
|
||||
ring_entries: int
|
||||
sqes_sz: int
|
||||
pad: int
|
||||
@c.record
|
||||
class struct_io_uring_sqe(c.Struct):
|
||||
SIZE = 64
|
||||
opcode: Annotated[Annotated[int, ctypes.c_ubyte], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_ubyte], 1]
|
||||
ioprio: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
off: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
addr2: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
cmd_op: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
__pad1: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
addr: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
splice_off_in: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
rw_flags: Annotated[Annotated[int, ctypes.c_int32], 28]
|
||||
fsync_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
poll_events: Annotated[Annotated[int, ctypes.c_uint16], 28]
|
||||
poll32_events: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
sync_range_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
msg_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
timeout_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
accept_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
cancel_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
open_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
statx_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
fadvise_advice: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
splice_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
rename_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
unlink_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
hardlink_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
xattr_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
msg_ring_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
uring_cmd_flags: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
user_data: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
buf_index: Annotated[Annotated[int, ctypes.c_uint16], 40]
|
||||
buf_group: Annotated[Annotated[int, ctypes.c_uint16], 40]
|
||||
personality: Annotated[Annotated[int, ctypes.c_uint16], 42]
|
||||
splice_fd_in: Annotated[Annotated[int, ctypes.c_int32], 44]
|
||||
file_index: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
||||
addr_len: Annotated[Annotated[int, ctypes.c_uint16], 44]
|
||||
__pad3: Annotated[c.Array[Annotated[int, ctypes.c_uint16], Literal[1]], 46]
|
||||
addr3: Annotated[Annotated[int, ctypes.c_uint64], 48]
|
||||
__pad2: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[1]], 56]
|
||||
cmd: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[0]], 48]
|
||||
__u8: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
||||
__u16: TypeAlias = Annotated[int, ctypes.c_uint16]
|
||||
__s32: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
__u64: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
__u32: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
__kernel_rwf_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
opcode: int
|
||||
flags: int
|
||||
ioprio: int
|
||||
fd: int
|
||||
off: int
|
||||
addr2: int
|
||||
cmd_op: int
|
||||
__pad1: int
|
||||
addr: int
|
||||
splice_off_in: int
|
||||
len: int
|
||||
rw_flags: int
|
||||
fsync_flags: int
|
||||
poll_events: int
|
||||
poll32_events: int
|
||||
sync_range_flags: int
|
||||
msg_flags: int
|
||||
timeout_flags: int
|
||||
accept_flags: int
|
||||
cancel_flags: int
|
||||
open_flags: int
|
||||
statx_flags: int
|
||||
fadvise_advice: int
|
||||
splice_flags: int
|
||||
rename_flags: int
|
||||
unlink_flags: int
|
||||
hardlink_flags: int
|
||||
xattr_flags: int
|
||||
msg_ring_flags: int
|
||||
uring_cmd_flags: int
|
||||
user_data: int
|
||||
buf_index: int
|
||||
buf_group: int
|
||||
personality: int
|
||||
splice_fd_in: int
|
||||
file_index: int
|
||||
addr_len: int
|
||||
__pad3: c.Array[ctypes.c_uint16, Literal[1]]
|
||||
addr3: int
|
||||
__pad2: c.Array[ctypes.c_uint64, Literal[1]]
|
||||
cmd: c.Array[ctypes.c_ubyte, Literal[0]]
|
||||
__u8: TypeAlias = ctypes.c_ubyte
|
||||
__u16: TypeAlias = ctypes.c_uint16
|
||||
__s32: TypeAlias = ctypes.c_int32
|
||||
__u64: TypeAlias = ctypes.c_uint64
|
||||
__u32: TypeAlias = ctypes.c_uint32
|
||||
__kernel_rwf_t: TypeAlias = ctypes.c_int32
|
||||
struct_io_uring_sqe.register_fields([('opcode', ctypes.c_ubyte, 0), ('flags', ctypes.c_ubyte, 1), ('ioprio', ctypes.c_uint16, 2), ('fd', ctypes.c_int32, 4), ('off', ctypes.c_uint64, 8), ('addr2', ctypes.c_uint64, 8), ('cmd_op', ctypes.c_uint32, 8), ('__pad1', ctypes.c_uint32, 12), ('addr', ctypes.c_uint64, 16), ('splice_off_in', ctypes.c_uint64, 16), ('len', ctypes.c_uint32, 24), ('rw_flags', ctypes.c_int32, 28), ('fsync_flags', ctypes.c_uint32, 28), ('poll_events', ctypes.c_uint16, 28), ('poll32_events', ctypes.c_uint32, 28), ('sync_range_flags', ctypes.c_uint32, 28), ('msg_flags', ctypes.c_uint32, 28), ('timeout_flags', ctypes.c_uint32, 28), ('accept_flags', ctypes.c_uint32, 28), ('cancel_flags', ctypes.c_uint32, 28), ('open_flags', ctypes.c_uint32, 28), ('statx_flags', ctypes.c_uint32, 28), ('fadvise_advice', ctypes.c_uint32, 28), ('splice_flags', ctypes.c_uint32, 28), ('rename_flags', ctypes.c_uint32, 28), ('unlink_flags', ctypes.c_uint32, 28), ('hardlink_flags', ctypes.c_uint32, 28), ('xattr_flags', ctypes.c_uint32, 28), ('msg_ring_flags', ctypes.c_uint32, 28), ('uring_cmd_flags', ctypes.c_uint32, 28), ('user_data', ctypes.c_uint64, 32), ('buf_index', ctypes.c_uint16, 40), ('buf_group', ctypes.c_uint16, 40), ('personality', ctypes.c_uint16, 42), ('splice_fd_in', ctypes.c_int32, 44), ('file_index', ctypes.c_uint32, 44), ('addr_len', ctypes.c_uint16, 44), ('__pad3', c.Array[ctypes.c_uint16, Literal[1]], 46), ('addr3', ctypes.c_uint64, 48), ('__pad2', c.Array[ctypes.c_uint64, Literal[1]], 56), ('cmd', c.Array[ctypes.c_ubyte, Literal[0]], 48)])
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
struct_io_uring_sq.register_fields([('khead', c.POINTER[ctypes.c_uint32], 0), ('ktail', c.POINTER[ctypes.c_uint32], 8), ('kring_mask', c.POINTER[ctypes.c_uint32], 16), ('kring_entries', c.POINTER[ctypes.c_uint32], 24), ('kflags', c.POINTER[ctypes.c_uint32], 32), ('kdropped', c.POINTER[ctypes.c_uint32], 40), ('array', c.POINTER[ctypes.c_uint32], 48), ('sqes', c.POINTER[struct_io_uring_sqe], 56), ('sqe_head', ctypes.c_uint32, 64), ('sqe_tail', ctypes.c_uint32, 68), ('ring_sz', size_t, 72), ('ring_ptr', ctypes.c_void_p, 80), ('ring_mask', ctypes.c_uint32, 88), ('ring_entries', ctypes.c_uint32, 92), ('sqes_sz', ctypes.c_uint32, 96), ('pad', ctypes.c_uint32, 100)])
|
||||
@c.record
|
||||
class struct_io_uring_cq(c.Struct):
|
||||
SIZE = 88
|
||||
khead: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 0]
|
||||
ktail: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 8]
|
||||
kring_mask: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 16]
|
||||
kring_entries: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 24]
|
||||
kflags: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 32]
|
||||
koverflow: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 40]
|
||||
cqes: Annotated[c.POINTER[struct_io_uring_cqe], 48]
|
||||
ring_sz: Annotated[size_t, 56]
|
||||
ring_ptr: Annotated[ctypes.c_void_p, 64]
|
||||
ring_mask: Annotated[Annotated[int, ctypes.c_uint32], 72]
|
||||
ring_entries: Annotated[Annotated[int, ctypes.c_uint32], 76]
|
||||
pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 80]
|
||||
khead: c.POINTER[ctypes.c_uint32]
|
||||
ktail: c.POINTER[ctypes.c_uint32]
|
||||
kring_mask: c.POINTER[ctypes.c_uint32]
|
||||
kring_entries: c.POINTER[ctypes.c_uint32]
|
||||
kflags: c.POINTER[ctypes.c_uint32]
|
||||
koverflow: c.POINTER[ctypes.c_uint32]
|
||||
cqes: c.POINTER[struct_io_uring_cqe]
|
||||
ring_sz: int
|
||||
ring_ptr: ctypes.c_void_p
|
||||
ring_mask: int
|
||||
ring_entries: int
|
||||
pad: c.Array[ctypes.c_uint32, Literal[2]]
|
||||
@c.record
|
||||
class struct_io_uring_cqe(c.Struct):
|
||||
SIZE = 16
|
||||
user_data: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
res: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
big_cqe: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
|
||||
user_data: int
|
||||
res: int
|
||||
flags: int
|
||||
big_cqe: c.Array[ctypes.c_uint64, Literal[0]]
|
||||
struct_io_uring_cqe.register_fields([('user_data', ctypes.c_uint64, 0), ('res', ctypes.c_int32, 8), ('flags', ctypes.c_uint32, 12), ('big_cqe', c.Array[ctypes.c_uint64, Literal[0]], 16)])
|
||||
struct_io_uring_cq.register_fields([('khead', c.POINTER[ctypes.c_uint32], 0), ('ktail', c.POINTER[ctypes.c_uint32], 8), ('kring_mask', c.POINTER[ctypes.c_uint32], 16), ('kring_entries', c.POINTER[ctypes.c_uint32], 24), ('kflags', c.POINTER[ctypes.c_uint32], 32), ('koverflow', c.POINTER[ctypes.c_uint32], 40), ('cqes', c.POINTER[struct_io_uring_cqe], 48), ('ring_sz', size_t, 56), ('ring_ptr', ctypes.c_void_p, 64), ('ring_mask', ctypes.c_uint32, 72), ('ring_entries', ctypes.c_uint32, 76), ('pad', c.Array[ctypes.c_uint32, Literal[2]], 80)])
|
||||
@c.record
|
||||
class struct_io_uring(c.Struct):
|
||||
SIZE = 216
|
||||
sq: Annotated[struct_io_uring_sq, 0]
|
||||
cq: Annotated[struct_io_uring_cq, 104]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 192]
|
||||
ring_fd: Annotated[Annotated[int, ctypes.c_int32], 196]
|
||||
features: Annotated[Annotated[int, ctypes.c_uint32], 200]
|
||||
enter_ring_fd: Annotated[Annotated[int, ctypes.c_int32], 204]
|
||||
int_flags: Annotated[Annotated[int, ctypes.c_ubyte], 208]
|
||||
pad: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[3]], 209]
|
||||
pad2: Annotated[Annotated[int, ctypes.c_uint32], 212]
|
||||
sq: struct_io_uring_sq
|
||||
cq: struct_io_uring_cq
|
||||
flags: int
|
||||
ring_fd: int
|
||||
features: int
|
||||
enter_ring_fd: int
|
||||
int_flags: int
|
||||
pad: c.Array[ctypes.c_ubyte, Literal[3]]
|
||||
pad2: int
|
||||
struct_io_uring.register_fields([('sq', struct_io_uring_sq, 0), ('cq', struct_io_uring_cq, 104), ('flags', ctypes.c_uint32, 192), ('ring_fd', ctypes.c_int32, 196), ('features', ctypes.c_uint32, 200), ('enter_ring_fd', ctypes.c_int32, 204), ('int_flags', ctypes.c_ubyte, 208), ('pad', c.Array[ctypes.c_ubyte, Literal[3]], 209), ('pad2', ctypes.c_uint32, 212)])
|
||||
@c.record
|
||||
class struct_io_uring_zcrx_rq(c.Struct):
|
||||
SIZE = 40
|
||||
khead: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 0]
|
||||
ktail: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 8]
|
||||
rq_tail: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
ring_entries: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
rqes: Annotated[c.POINTER[struct_io_uring_zcrx_rqe], 24]
|
||||
ring_ptr: Annotated[ctypes.c_void_p, 32]
|
||||
khead: c.POINTER[ctypes.c_uint32]
|
||||
ktail: c.POINTER[ctypes.c_uint32]
|
||||
rq_tail: int
|
||||
ring_entries: int
|
||||
rqes: c.POINTER[struct_io_uring_zcrx_rqe]
|
||||
ring_ptr: ctypes.c_void_p
|
||||
@c.record
|
||||
class struct_io_uring_zcrx_rqe(c.Struct):
|
||||
SIZE = 16
|
||||
off: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
__pad: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
off: int
|
||||
len: int
|
||||
__pad: int
|
||||
struct_io_uring_zcrx_rq.register_fields([('khead', c.POINTER[ctypes.c_uint32], 0), ('ktail', c.POINTER[ctypes.c_uint32], 8), ('rq_tail', ctypes.c_uint32, 16), ('ring_entries', ctypes.c_uint32, 20), ('rqes', c.POINTER[struct_io_uring_zcrx_rqe], 24), ('ring_ptr', ctypes.c_void_p, 32)])
|
||||
@c.record
|
||||
class struct_io_uring_cqe_iter(c.Struct):
|
||||
SIZE = 24
|
||||
cqes: Annotated[c.POINTER[struct_io_uring_cqe], 0]
|
||||
mask: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
shift: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
head: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
tail: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
class struct_epoll_event(c.Struct): SIZE = 0
|
||||
class struct_statx(c.Struct): SIZE = 0
|
||||
class struct_futex_waitv(c.Struct): SIZE = 0
|
||||
cqes: c.POINTER[struct_io_uring_cqe]
|
||||
mask: int
|
||||
shift: int
|
||||
head: int
|
||||
tail: int
|
||||
struct_io_uring_cqe_iter.register_fields([('cqes', c.POINTER[struct_io_uring_cqe], 0), ('mask', ctypes.c_uint32, 8), ('shift', ctypes.c_uint32, 12), ('head', ctypes.c_uint32, 16), ('tail', ctypes.c_uint32, 20)])
|
||||
class struct_epoll_event(c.Struct): pass
|
||||
class struct_statx(c.Struct): pass
|
||||
class struct_futex_waitv(c.Struct): pass
|
||||
@c.record
|
||||
class struct_io_uring_attr_pi(c.Struct):
|
||||
SIZE = 32
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint16], 0]
|
||||
app_tag: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
addr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
seed: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
rsvd: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
class enum_io_uring_sqe_flags_bit(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IOSQE_FIXED_FILE_BIT = enum_io_uring_sqe_flags_bit.define('IOSQE_FIXED_FILE_BIT', 0)
|
||||
IOSQE_IO_DRAIN_BIT = enum_io_uring_sqe_flags_bit.define('IOSQE_IO_DRAIN_BIT', 1)
|
||||
IOSQE_IO_LINK_BIT = enum_io_uring_sqe_flags_bit.define('IOSQE_IO_LINK_BIT', 2)
|
||||
IOSQE_IO_HARDLINK_BIT = enum_io_uring_sqe_flags_bit.define('IOSQE_IO_HARDLINK_BIT', 3)
|
||||
IOSQE_ASYNC_BIT = enum_io_uring_sqe_flags_bit.define('IOSQE_ASYNC_BIT', 4)
|
||||
IOSQE_BUFFER_SELECT_BIT = enum_io_uring_sqe_flags_bit.define('IOSQE_BUFFER_SELECT_BIT', 5)
|
||||
IOSQE_CQE_SKIP_SUCCESS_BIT = enum_io_uring_sqe_flags_bit.define('IOSQE_CQE_SKIP_SUCCESS_BIT', 6)
|
||||
|
||||
class enum_io_uring_op(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_OP_NOP = enum_io_uring_op.define('IORING_OP_NOP', 0)
|
||||
IORING_OP_READV = enum_io_uring_op.define('IORING_OP_READV', 1)
|
||||
IORING_OP_WRITEV = enum_io_uring_op.define('IORING_OP_WRITEV', 2)
|
||||
IORING_OP_FSYNC = enum_io_uring_op.define('IORING_OP_FSYNC', 3)
|
||||
IORING_OP_READ_FIXED = enum_io_uring_op.define('IORING_OP_READ_FIXED', 4)
|
||||
IORING_OP_WRITE_FIXED = enum_io_uring_op.define('IORING_OP_WRITE_FIXED', 5)
|
||||
IORING_OP_POLL_ADD = enum_io_uring_op.define('IORING_OP_POLL_ADD', 6)
|
||||
IORING_OP_POLL_REMOVE = enum_io_uring_op.define('IORING_OP_POLL_REMOVE', 7)
|
||||
IORING_OP_SYNC_FILE_RANGE = enum_io_uring_op.define('IORING_OP_SYNC_FILE_RANGE', 8)
|
||||
IORING_OP_SENDMSG = enum_io_uring_op.define('IORING_OP_SENDMSG', 9)
|
||||
IORING_OP_RECVMSG = enum_io_uring_op.define('IORING_OP_RECVMSG', 10)
|
||||
IORING_OP_TIMEOUT = enum_io_uring_op.define('IORING_OP_TIMEOUT', 11)
|
||||
IORING_OP_TIMEOUT_REMOVE = enum_io_uring_op.define('IORING_OP_TIMEOUT_REMOVE', 12)
|
||||
IORING_OP_ACCEPT = enum_io_uring_op.define('IORING_OP_ACCEPT', 13)
|
||||
IORING_OP_ASYNC_CANCEL = enum_io_uring_op.define('IORING_OP_ASYNC_CANCEL', 14)
|
||||
IORING_OP_LINK_TIMEOUT = enum_io_uring_op.define('IORING_OP_LINK_TIMEOUT', 15)
|
||||
IORING_OP_CONNECT = enum_io_uring_op.define('IORING_OP_CONNECT', 16)
|
||||
IORING_OP_FALLOCATE = enum_io_uring_op.define('IORING_OP_FALLOCATE', 17)
|
||||
IORING_OP_OPENAT = enum_io_uring_op.define('IORING_OP_OPENAT', 18)
|
||||
IORING_OP_CLOSE = enum_io_uring_op.define('IORING_OP_CLOSE', 19)
|
||||
IORING_OP_FILES_UPDATE = enum_io_uring_op.define('IORING_OP_FILES_UPDATE', 20)
|
||||
IORING_OP_STATX = enum_io_uring_op.define('IORING_OP_STATX', 21)
|
||||
IORING_OP_READ = enum_io_uring_op.define('IORING_OP_READ', 22)
|
||||
IORING_OP_WRITE = enum_io_uring_op.define('IORING_OP_WRITE', 23)
|
||||
IORING_OP_FADVISE = enum_io_uring_op.define('IORING_OP_FADVISE', 24)
|
||||
IORING_OP_MADVISE = enum_io_uring_op.define('IORING_OP_MADVISE', 25)
|
||||
IORING_OP_SEND = enum_io_uring_op.define('IORING_OP_SEND', 26)
|
||||
IORING_OP_RECV = enum_io_uring_op.define('IORING_OP_RECV', 27)
|
||||
IORING_OP_OPENAT2 = enum_io_uring_op.define('IORING_OP_OPENAT2', 28)
|
||||
IORING_OP_EPOLL_CTL = enum_io_uring_op.define('IORING_OP_EPOLL_CTL', 29)
|
||||
IORING_OP_SPLICE = enum_io_uring_op.define('IORING_OP_SPLICE', 30)
|
||||
IORING_OP_PROVIDE_BUFFERS = enum_io_uring_op.define('IORING_OP_PROVIDE_BUFFERS', 31)
|
||||
IORING_OP_REMOVE_BUFFERS = enum_io_uring_op.define('IORING_OP_REMOVE_BUFFERS', 32)
|
||||
IORING_OP_TEE = enum_io_uring_op.define('IORING_OP_TEE', 33)
|
||||
IORING_OP_SHUTDOWN = enum_io_uring_op.define('IORING_OP_SHUTDOWN', 34)
|
||||
IORING_OP_RENAMEAT = enum_io_uring_op.define('IORING_OP_RENAMEAT', 35)
|
||||
IORING_OP_UNLINKAT = enum_io_uring_op.define('IORING_OP_UNLINKAT', 36)
|
||||
IORING_OP_MKDIRAT = enum_io_uring_op.define('IORING_OP_MKDIRAT', 37)
|
||||
IORING_OP_SYMLINKAT = enum_io_uring_op.define('IORING_OP_SYMLINKAT', 38)
|
||||
IORING_OP_LINKAT = enum_io_uring_op.define('IORING_OP_LINKAT', 39)
|
||||
IORING_OP_MSG_RING = enum_io_uring_op.define('IORING_OP_MSG_RING', 40)
|
||||
IORING_OP_FSETXATTR = enum_io_uring_op.define('IORING_OP_FSETXATTR', 41)
|
||||
IORING_OP_SETXATTR = enum_io_uring_op.define('IORING_OP_SETXATTR', 42)
|
||||
IORING_OP_FGETXATTR = enum_io_uring_op.define('IORING_OP_FGETXATTR', 43)
|
||||
IORING_OP_GETXATTR = enum_io_uring_op.define('IORING_OP_GETXATTR', 44)
|
||||
IORING_OP_SOCKET = enum_io_uring_op.define('IORING_OP_SOCKET', 45)
|
||||
IORING_OP_URING_CMD = enum_io_uring_op.define('IORING_OP_URING_CMD', 46)
|
||||
IORING_OP_SEND_ZC = enum_io_uring_op.define('IORING_OP_SEND_ZC', 47)
|
||||
IORING_OP_SENDMSG_ZC = enum_io_uring_op.define('IORING_OP_SENDMSG_ZC', 48)
|
||||
IORING_OP_READ_MULTISHOT = enum_io_uring_op.define('IORING_OP_READ_MULTISHOT', 49)
|
||||
IORING_OP_WAITID = enum_io_uring_op.define('IORING_OP_WAITID', 50)
|
||||
IORING_OP_FUTEX_WAIT = enum_io_uring_op.define('IORING_OP_FUTEX_WAIT', 51)
|
||||
IORING_OP_FUTEX_WAKE = enum_io_uring_op.define('IORING_OP_FUTEX_WAKE', 52)
|
||||
IORING_OP_FUTEX_WAITV = enum_io_uring_op.define('IORING_OP_FUTEX_WAITV', 53)
|
||||
IORING_OP_FIXED_FD_INSTALL = enum_io_uring_op.define('IORING_OP_FIXED_FD_INSTALL', 54)
|
||||
IORING_OP_FTRUNCATE = enum_io_uring_op.define('IORING_OP_FTRUNCATE', 55)
|
||||
IORING_OP_BIND = enum_io_uring_op.define('IORING_OP_BIND', 56)
|
||||
IORING_OP_LISTEN = enum_io_uring_op.define('IORING_OP_LISTEN', 57)
|
||||
IORING_OP_RECV_ZC = enum_io_uring_op.define('IORING_OP_RECV_ZC', 58)
|
||||
IORING_OP_EPOLL_WAIT = enum_io_uring_op.define('IORING_OP_EPOLL_WAIT', 59)
|
||||
IORING_OP_READV_FIXED = enum_io_uring_op.define('IORING_OP_READV_FIXED', 60)
|
||||
IORING_OP_WRITEV_FIXED = enum_io_uring_op.define('IORING_OP_WRITEV_FIXED', 61)
|
||||
IORING_OP_PIPE = enum_io_uring_op.define('IORING_OP_PIPE', 62)
|
||||
IORING_OP_LAST = enum_io_uring_op.define('IORING_OP_LAST', 63)
|
||||
|
||||
class enum_io_uring_msg_ring_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_MSG_DATA = enum_io_uring_msg_ring_flags.define('IORING_MSG_DATA', 0)
|
||||
IORING_MSG_SEND_FD = enum_io_uring_msg_ring_flags.define('IORING_MSG_SEND_FD', 1)
|
||||
|
||||
flags: int
|
||||
app_tag: int
|
||||
len: int
|
||||
addr: int
|
||||
seed: int
|
||||
rsvd: int
|
||||
struct_io_uring_attr_pi.register_fields([('flags', ctypes.c_uint16, 0), ('app_tag', ctypes.c_uint16, 2), ('len', ctypes.c_uint32, 4), ('addr', ctypes.c_uint64, 8), ('seed', ctypes.c_uint64, 16), ('rsvd', ctypes.c_uint64, 24)])
|
||||
enum_io_uring_sqe_flags_bit: dict[int, str] = {(IOSQE_FIXED_FILE_BIT:=0): 'IOSQE_FIXED_FILE_BIT', (IOSQE_IO_DRAIN_BIT:=1): 'IOSQE_IO_DRAIN_BIT', (IOSQE_IO_LINK_BIT:=2): 'IOSQE_IO_LINK_BIT', (IOSQE_IO_HARDLINK_BIT:=3): 'IOSQE_IO_HARDLINK_BIT', (IOSQE_ASYNC_BIT:=4): 'IOSQE_ASYNC_BIT', (IOSQE_BUFFER_SELECT_BIT:=5): 'IOSQE_BUFFER_SELECT_BIT', (IOSQE_CQE_SKIP_SUCCESS_BIT:=6): 'IOSQE_CQE_SKIP_SUCCESS_BIT'}
|
||||
enum_io_uring_op: dict[int, str] = {(IORING_OP_NOP:=0): 'IORING_OP_NOP', (IORING_OP_READV:=1): 'IORING_OP_READV', (IORING_OP_WRITEV:=2): 'IORING_OP_WRITEV', (IORING_OP_FSYNC:=3): 'IORING_OP_FSYNC', (IORING_OP_READ_FIXED:=4): 'IORING_OP_READ_FIXED', (IORING_OP_WRITE_FIXED:=5): 'IORING_OP_WRITE_FIXED', (IORING_OP_POLL_ADD:=6): 'IORING_OP_POLL_ADD', (IORING_OP_POLL_REMOVE:=7): 'IORING_OP_POLL_REMOVE', (IORING_OP_SYNC_FILE_RANGE:=8): 'IORING_OP_SYNC_FILE_RANGE', (IORING_OP_SENDMSG:=9): 'IORING_OP_SENDMSG', (IORING_OP_RECVMSG:=10): 'IORING_OP_RECVMSG', (IORING_OP_TIMEOUT:=11): 'IORING_OP_TIMEOUT', (IORING_OP_TIMEOUT_REMOVE:=12): 'IORING_OP_TIMEOUT_REMOVE', (IORING_OP_ACCEPT:=13): 'IORING_OP_ACCEPT', (IORING_OP_ASYNC_CANCEL:=14): 'IORING_OP_ASYNC_CANCEL', (IORING_OP_LINK_TIMEOUT:=15): 'IORING_OP_LINK_TIMEOUT', (IORING_OP_CONNECT:=16): 'IORING_OP_CONNECT', (IORING_OP_FALLOCATE:=17): 'IORING_OP_FALLOCATE', (IORING_OP_OPENAT:=18): 'IORING_OP_OPENAT', (IORING_OP_CLOSE:=19): 'IORING_OP_CLOSE', (IORING_OP_FILES_UPDATE:=20): 'IORING_OP_FILES_UPDATE', (IORING_OP_STATX:=21): 'IORING_OP_STATX', (IORING_OP_READ:=22): 'IORING_OP_READ', (IORING_OP_WRITE:=23): 'IORING_OP_WRITE', (IORING_OP_FADVISE:=24): 'IORING_OP_FADVISE', (IORING_OP_MADVISE:=25): 'IORING_OP_MADVISE', (IORING_OP_SEND:=26): 'IORING_OP_SEND', (IORING_OP_RECV:=27): 'IORING_OP_RECV', (IORING_OP_OPENAT2:=28): 'IORING_OP_OPENAT2', (IORING_OP_EPOLL_CTL:=29): 'IORING_OP_EPOLL_CTL', (IORING_OP_SPLICE:=30): 'IORING_OP_SPLICE', (IORING_OP_PROVIDE_BUFFERS:=31): 'IORING_OP_PROVIDE_BUFFERS', (IORING_OP_REMOVE_BUFFERS:=32): 'IORING_OP_REMOVE_BUFFERS', (IORING_OP_TEE:=33): 'IORING_OP_TEE', (IORING_OP_SHUTDOWN:=34): 'IORING_OP_SHUTDOWN', (IORING_OP_RENAMEAT:=35): 'IORING_OP_RENAMEAT', (IORING_OP_UNLINKAT:=36): 'IORING_OP_UNLINKAT', (IORING_OP_MKDIRAT:=37): 'IORING_OP_MKDIRAT', (IORING_OP_SYMLINKAT:=38): 'IORING_OP_SYMLINKAT', (IORING_OP_LINKAT:=39): 'IORING_OP_LINKAT', (IORING_OP_MSG_RING:=40): 'IORING_OP_MSG_RING', (IORING_OP_FSETXATTR:=41): 'IORING_OP_FSETXATTR', (IORING_OP_SETXATTR:=42): 'IORING_OP_SETXATTR', (IORING_OP_FGETXATTR:=43): 'IORING_OP_FGETXATTR', (IORING_OP_GETXATTR:=44): 'IORING_OP_GETXATTR', (IORING_OP_SOCKET:=45): 'IORING_OP_SOCKET', (IORING_OP_URING_CMD:=46): 'IORING_OP_URING_CMD', (IORING_OP_SEND_ZC:=47): 'IORING_OP_SEND_ZC', (IORING_OP_SENDMSG_ZC:=48): 'IORING_OP_SENDMSG_ZC', (IORING_OP_READ_MULTISHOT:=49): 'IORING_OP_READ_MULTISHOT', (IORING_OP_WAITID:=50): 'IORING_OP_WAITID', (IORING_OP_FUTEX_WAIT:=51): 'IORING_OP_FUTEX_WAIT', (IORING_OP_FUTEX_WAKE:=52): 'IORING_OP_FUTEX_WAKE', (IORING_OP_FUTEX_WAITV:=53): 'IORING_OP_FUTEX_WAITV', (IORING_OP_FIXED_FD_INSTALL:=54): 'IORING_OP_FIXED_FD_INSTALL', (IORING_OP_FTRUNCATE:=55): 'IORING_OP_FTRUNCATE', (IORING_OP_BIND:=56): 'IORING_OP_BIND', (IORING_OP_LISTEN:=57): 'IORING_OP_LISTEN', (IORING_OP_RECV_ZC:=58): 'IORING_OP_RECV_ZC', (IORING_OP_EPOLL_WAIT:=59): 'IORING_OP_EPOLL_WAIT', (IORING_OP_READV_FIXED:=60): 'IORING_OP_READV_FIXED', (IORING_OP_WRITEV_FIXED:=61): 'IORING_OP_WRITEV_FIXED', (IORING_OP_PIPE:=62): 'IORING_OP_PIPE', (IORING_OP_LAST:=63): 'IORING_OP_LAST'}
|
||||
enum_io_uring_msg_ring_flags: dict[int, str] = {(IORING_MSG_DATA:=0): 'IORING_MSG_DATA', (IORING_MSG_SEND_FD:=1): 'IORING_MSG_SEND_FD'}
|
||||
@c.record
|
||||
class struct_io_sqring_offsets(c.Struct):
|
||||
SIZE = 40
|
||||
head: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
tail: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
ring_mask: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
ring_entries: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
dropped: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
array: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
resv1: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
user_addr: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
head: int
|
||||
tail: int
|
||||
ring_mask: int
|
||||
ring_entries: int
|
||||
flags: int
|
||||
dropped: int
|
||||
array: int
|
||||
resv1: int
|
||||
user_addr: int
|
||||
struct_io_sqring_offsets.register_fields([('head', ctypes.c_uint32, 0), ('tail', ctypes.c_uint32, 4), ('ring_mask', ctypes.c_uint32, 8), ('ring_entries', ctypes.c_uint32, 12), ('flags', ctypes.c_uint32, 16), ('dropped', ctypes.c_uint32, 20), ('array', ctypes.c_uint32, 24), ('resv1', ctypes.c_uint32, 28), ('user_addr', ctypes.c_uint64, 32)])
|
||||
@c.record
|
||||
class struct_io_cqring_offsets(c.Struct):
|
||||
SIZE = 40
|
||||
head: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
tail: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
ring_mask: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
ring_entries: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
overflow: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
cqes: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
resv1: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
user_addr: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
head: int
|
||||
tail: int
|
||||
ring_mask: int
|
||||
ring_entries: int
|
||||
overflow: int
|
||||
cqes: int
|
||||
flags: int
|
||||
resv1: int
|
||||
user_addr: int
|
||||
struct_io_cqring_offsets.register_fields([('head', ctypes.c_uint32, 0), ('tail', ctypes.c_uint32, 4), ('ring_mask', ctypes.c_uint32, 8), ('ring_entries', ctypes.c_uint32, 12), ('overflow', ctypes.c_uint32, 16), ('cqes', ctypes.c_uint32, 20), ('flags', ctypes.c_uint32, 24), ('resv1', ctypes.c_uint32, 28), ('user_addr', ctypes.c_uint64, 32)])
|
||||
@c.record
|
||||
class struct_io_uring_params(c.Struct):
|
||||
SIZE = 120
|
||||
sq_entries: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
cq_entries: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
sq_thread_cpu: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
sq_thread_idle: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
features: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
wq_fd: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
resv: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[3]], 28]
|
||||
sq_off: Annotated[struct_io_sqring_offsets, 40]
|
||||
cq_off: Annotated[struct_io_cqring_offsets, 80]
|
||||
class enum_io_uring_register_op(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_REGISTER_BUFFERS = enum_io_uring_register_op.define('IORING_REGISTER_BUFFERS', 0)
|
||||
IORING_UNREGISTER_BUFFERS = enum_io_uring_register_op.define('IORING_UNREGISTER_BUFFERS', 1)
|
||||
IORING_REGISTER_FILES = enum_io_uring_register_op.define('IORING_REGISTER_FILES', 2)
|
||||
IORING_UNREGISTER_FILES = enum_io_uring_register_op.define('IORING_UNREGISTER_FILES', 3)
|
||||
IORING_REGISTER_EVENTFD = enum_io_uring_register_op.define('IORING_REGISTER_EVENTFD', 4)
|
||||
IORING_UNREGISTER_EVENTFD = enum_io_uring_register_op.define('IORING_UNREGISTER_EVENTFD', 5)
|
||||
IORING_REGISTER_FILES_UPDATE = enum_io_uring_register_op.define('IORING_REGISTER_FILES_UPDATE', 6)
|
||||
IORING_REGISTER_EVENTFD_ASYNC = enum_io_uring_register_op.define('IORING_REGISTER_EVENTFD_ASYNC', 7)
|
||||
IORING_REGISTER_PROBE = enum_io_uring_register_op.define('IORING_REGISTER_PROBE', 8)
|
||||
IORING_REGISTER_PERSONALITY = enum_io_uring_register_op.define('IORING_REGISTER_PERSONALITY', 9)
|
||||
IORING_UNREGISTER_PERSONALITY = enum_io_uring_register_op.define('IORING_UNREGISTER_PERSONALITY', 10)
|
||||
IORING_REGISTER_RESTRICTIONS = enum_io_uring_register_op.define('IORING_REGISTER_RESTRICTIONS', 11)
|
||||
IORING_REGISTER_ENABLE_RINGS = enum_io_uring_register_op.define('IORING_REGISTER_ENABLE_RINGS', 12)
|
||||
IORING_REGISTER_FILES2 = enum_io_uring_register_op.define('IORING_REGISTER_FILES2', 13)
|
||||
IORING_REGISTER_FILES_UPDATE2 = enum_io_uring_register_op.define('IORING_REGISTER_FILES_UPDATE2', 14)
|
||||
IORING_REGISTER_BUFFERS2 = enum_io_uring_register_op.define('IORING_REGISTER_BUFFERS2', 15)
|
||||
IORING_REGISTER_BUFFERS_UPDATE = enum_io_uring_register_op.define('IORING_REGISTER_BUFFERS_UPDATE', 16)
|
||||
IORING_REGISTER_IOWQ_AFF = enum_io_uring_register_op.define('IORING_REGISTER_IOWQ_AFF', 17)
|
||||
IORING_UNREGISTER_IOWQ_AFF = enum_io_uring_register_op.define('IORING_UNREGISTER_IOWQ_AFF', 18)
|
||||
IORING_REGISTER_IOWQ_MAX_WORKERS = enum_io_uring_register_op.define('IORING_REGISTER_IOWQ_MAX_WORKERS', 19)
|
||||
IORING_REGISTER_RING_FDS = enum_io_uring_register_op.define('IORING_REGISTER_RING_FDS', 20)
|
||||
IORING_UNREGISTER_RING_FDS = enum_io_uring_register_op.define('IORING_UNREGISTER_RING_FDS', 21)
|
||||
IORING_REGISTER_PBUF_RING = enum_io_uring_register_op.define('IORING_REGISTER_PBUF_RING', 22)
|
||||
IORING_UNREGISTER_PBUF_RING = enum_io_uring_register_op.define('IORING_UNREGISTER_PBUF_RING', 23)
|
||||
IORING_REGISTER_SYNC_CANCEL = enum_io_uring_register_op.define('IORING_REGISTER_SYNC_CANCEL', 24)
|
||||
IORING_REGISTER_FILE_ALLOC_RANGE = enum_io_uring_register_op.define('IORING_REGISTER_FILE_ALLOC_RANGE', 25)
|
||||
IORING_REGISTER_PBUF_STATUS = enum_io_uring_register_op.define('IORING_REGISTER_PBUF_STATUS', 26)
|
||||
IORING_REGISTER_NAPI = enum_io_uring_register_op.define('IORING_REGISTER_NAPI', 27)
|
||||
IORING_UNREGISTER_NAPI = enum_io_uring_register_op.define('IORING_UNREGISTER_NAPI', 28)
|
||||
IORING_REGISTER_CLOCK = enum_io_uring_register_op.define('IORING_REGISTER_CLOCK', 29)
|
||||
IORING_REGISTER_CLONE_BUFFERS = enum_io_uring_register_op.define('IORING_REGISTER_CLONE_BUFFERS', 30)
|
||||
IORING_REGISTER_SEND_MSG_RING = enum_io_uring_register_op.define('IORING_REGISTER_SEND_MSG_RING', 31)
|
||||
IORING_REGISTER_ZCRX_IFQ = enum_io_uring_register_op.define('IORING_REGISTER_ZCRX_IFQ', 32)
|
||||
IORING_REGISTER_RESIZE_RINGS = enum_io_uring_register_op.define('IORING_REGISTER_RESIZE_RINGS', 33)
|
||||
IORING_REGISTER_MEM_REGION = enum_io_uring_register_op.define('IORING_REGISTER_MEM_REGION', 34)
|
||||
IORING_REGISTER_QUERY = enum_io_uring_register_op.define('IORING_REGISTER_QUERY', 35)
|
||||
IORING_REGISTER_LAST = enum_io_uring_register_op.define('IORING_REGISTER_LAST', 36)
|
||||
IORING_REGISTER_USE_REGISTERED_RING = enum_io_uring_register_op.define('IORING_REGISTER_USE_REGISTERED_RING', 2147483648)
|
||||
|
||||
class enum_io_wq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IO_WQ_BOUND = enum_io_wq_type.define('IO_WQ_BOUND', 0)
|
||||
IO_WQ_UNBOUND = enum_io_wq_type.define('IO_WQ_UNBOUND', 1)
|
||||
|
||||
sq_entries: int
|
||||
cq_entries: int
|
||||
flags: int
|
||||
sq_thread_cpu: int
|
||||
sq_thread_idle: int
|
||||
features: int
|
||||
wq_fd: int
|
||||
resv: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
sq_off: struct_io_sqring_offsets
|
||||
cq_off: struct_io_cqring_offsets
|
||||
struct_io_uring_params.register_fields([('sq_entries', ctypes.c_uint32, 0), ('cq_entries', ctypes.c_uint32, 4), ('flags', ctypes.c_uint32, 8), ('sq_thread_cpu', ctypes.c_uint32, 12), ('sq_thread_idle', ctypes.c_uint32, 16), ('features', ctypes.c_uint32, 20), ('wq_fd', ctypes.c_uint32, 24), ('resv', c.Array[ctypes.c_uint32, Literal[3]], 28), ('sq_off', struct_io_sqring_offsets, 40), ('cq_off', struct_io_cqring_offsets, 80)])
|
||||
enum_io_uring_register_op: dict[int, str] = {(IORING_REGISTER_BUFFERS:=0): 'IORING_REGISTER_BUFFERS', (IORING_UNREGISTER_BUFFERS:=1): 'IORING_UNREGISTER_BUFFERS', (IORING_REGISTER_FILES:=2): 'IORING_REGISTER_FILES', (IORING_UNREGISTER_FILES:=3): 'IORING_UNREGISTER_FILES', (IORING_REGISTER_EVENTFD:=4): 'IORING_REGISTER_EVENTFD', (IORING_UNREGISTER_EVENTFD:=5): 'IORING_UNREGISTER_EVENTFD', (IORING_REGISTER_FILES_UPDATE:=6): 'IORING_REGISTER_FILES_UPDATE', (IORING_REGISTER_EVENTFD_ASYNC:=7): 'IORING_REGISTER_EVENTFD_ASYNC', (IORING_REGISTER_PROBE:=8): 'IORING_REGISTER_PROBE', (IORING_REGISTER_PERSONALITY:=9): 'IORING_REGISTER_PERSONALITY', (IORING_UNREGISTER_PERSONALITY:=10): 'IORING_UNREGISTER_PERSONALITY', (IORING_REGISTER_RESTRICTIONS:=11): 'IORING_REGISTER_RESTRICTIONS', (IORING_REGISTER_ENABLE_RINGS:=12): 'IORING_REGISTER_ENABLE_RINGS', (IORING_REGISTER_FILES2:=13): 'IORING_REGISTER_FILES2', (IORING_REGISTER_FILES_UPDATE2:=14): 'IORING_REGISTER_FILES_UPDATE2', (IORING_REGISTER_BUFFERS2:=15): 'IORING_REGISTER_BUFFERS2', (IORING_REGISTER_BUFFERS_UPDATE:=16): 'IORING_REGISTER_BUFFERS_UPDATE', (IORING_REGISTER_IOWQ_AFF:=17): 'IORING_REGISTER_IOWQ_AFF', (IORING_UNREGISTER_IOWQ_AFF:=18): 'IORING_UNREGISTER_IOWQ_AFF', (IORING_REGISTER_IOWQ_MAX_WORKERS:=19): 'IORING_REGISTER_IOWQ_MAX_WORKERS', (IORING_REGISTER_RING_FDS:=20): 'IORING_REGISTER_RING_FDS', (IORING_UNREGISTER_RING_FDS:=21): 'IORING_UNREGISTER_RING_FDS', (IORING_REGISTER_PBUF_RING:=22): 'IORING_REGISTER_PBUF_RING', (IORING_UNREGISTER_PBUF_RING:=23): 'IORING_UNREGISTER_PBUF_RING', (IORING_REGISTER_SYNC_CANCEL:=24): 'IORING_REGISTER_SYNC_CANCEL', (IORING_REGISTER_FILE_ALLOC_RANGE:=25): 'IORING_REGISTER_FILE_ALLOC_RANGE', (IORING_REGISTER_PBUF_STATUS:=26): 'IORING_REGISTER_PBUF_STATUS', (IORING_REGISTER_NAPI:=27): 'IORING_REGISTER_NAPI', (IORING_UNREGISTER_NAPI:=28): 'IORING_UNREGISTER_NAPI', (IORING_REGISTER_CLOCK:=29): 'IORING_REGISTER_CLOCK', (IORING_REGISTER_CLONE_BUFFERS:=30): 'IORING_REGISTER_CLONE_BUFFERS', (IORING_REGISTER_SEND_MSG_RING:=31): 'IORING_REGISTER_SEND_MSG_RING', (IORING_REGISTER_ZCRX_IFQ:=32): 'IORING_REGISTER_ZCRX_IFQ', (IORING_REGISTER_RESIZE_RINGS:=33): 'IORING_REGISTER_RESIZE_RINGS', (IORING_REGISTER_MEM_REGION:=34): 'IORING_REGISTER_MEM_REGION', (IORING_REGISTER_QUERY:=35): 'IORING_REGISTER_QUERY', (IORING_REGISTER_LAST:=36): 'IORING_REGISTER_LAST', (IORING_REGISTER_USE_REGISTERED_RING:=2147483648): 'IORING_REGISTER_USE_REGISTERED_RING'}
|
||||
enum_io_wq_type: dict[int, str] = {(IO_WQ_BOUND:=0): 'IO_WQ_BOUND', (IO_WQ_UNBOUND:=1): 'IO_WQ_UNBOUND'}
|
||||
@c.record
|
||||
class struct_io_uring_files_update(c.Struct):
|
||||
SIZE = 16
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
resv: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
fds: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_MEM_REGION_TYPE_USER = _anonenum0.define('IORING_MEM_REGION_TYPE_USER', 1)
|
||||
|
||||
offset: int
|
||||
resv: int
|
||||
fds: int
|
||||
struct_io_uring_files_update.register_fields([('offset', ctypes.c_uint32, 0), ('resv', ctypes.c_uint32, 4), ('fds', ctypes.c_uint64, 8)])
|
||||
_anonenum0: dict[int, str] = {(IORING_MEM_REGION_TYPE_USER:=1): 'IORING_MEM_REGION_TYPE_USER'}
|
||||
@c.record
|
||||
class struct_io_uring_region_desc(c.Struct):
|
||||
SIZE = 64
|
||||
user_addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
mmap_offset: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
__resv: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[4]], 32]
|
||||
class _anonenum1(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_MEM_REGION_REG_WAIT_ARG = _anonenum1.define('IORING_MEM_REGION_REG_WAIT_ARG', 1)
|
||||
|
||||
user_addr: int
|
||||
size: int
|
||||
flags: int
|
||||
id: int
|
||||
mmap_offset: int
|
||||
__resv: c.Array[ctypes.c_uint64, Literal[4]]
|
||||
struct_io_uring_region_desc.register_fields([('user_addr', ctypes.c_uint64, 0), ('size', ctypes.c_uint64, 8), ('flags', ctypes.c_uint32, 16), ('id', ctypes.c_uint32, 20), ('mmap_offset', ctypes.c_uint64, 24), ('__resv', c.Array[ctypes.c_uint64, Literal[4]], 32)])
|
||||
_anonenum1: dict[int, str] = {(IORING_MEM_REGION_REG_WAIT_ARG:=1): 'IORING_MEM_REGION_REG_WAIT_ARG'}
|
||||
@c.record
|
||||
class struct_io_uring_mem_region_reg(c.Struct):
|
||||
SIZE = 32
|
||||
region_uptr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
__resv: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[2]], 16]
|
||||
region_uptr: int
|
||||
flags: int
|
||||
__resv: c.Array[ctypes.c_uint64, Literal[2]]
|
||||
struct_io_uring_mem_region_reg.register_fields([('region_uptr', ctypes.c_uint64, 0), ('flags', ctypes.c_uint64, 8), ('__resv', c.Array[ctypes.c_uint64, Literal[2]], 16)])
|
||||
@c.record
|
||||
class struct_io_uring_rsrc_register(c.Struct):
|
||||
SIZE = 32
|
||||
nr: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
resv2: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
data: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
tags: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
nr: int
|
||||
flags: int
|
||||
resv2: int
|
||||
data: int
|
||||
tags: int
|
||||
struct_io_uring_rsrc_register.register_fields([('nr', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('resv2', ctypes.c_uint64, 8), ('data', ctypes.c_uint64, 16), ('tags', ctypes.c_uint64, 24)])
|
||||
@c.record
|
||||
class struct_io_uring_rsrc_update(c.Struct):
|
||||
SIZE = 16
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
resv: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
data: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
offset: int
|
||||
resv: int
|
||||
data: int
|
||||
struct_io_uring_rsrc_update.register_fields([('offset', ctypes.c_uint32, 0), ('resv', ctypes.c_uint32, 4), ('data', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_io_uring_rsrc_update2(c.Struct):
|
||||
SIZE = 32
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
resv: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
data: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
tags: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
nr: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
resv2: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
offset: int
|
||||
resv: int
|
||||
data: int
|
||||
tags: int
|
||||
nr: int
|
||||
resv2: int
|
||||
struct_io_uring_rsrc_update2.register_fields([('offset', ctypes.c_uint32, 0), ('resv', ctypes.c_uint32, 4), ('data', ctypes.c_uint64, 8), ('tags', ctypes.c_uint64, 16), ('nr', ctypes.c_uint32, 24), ('resv2', ctypes.c_uint32, 28)])
|
||||
@c.record
|
||||
class struct_io_uring_probe_op(c.Struct):
|
||||
SIZE = 8
|
||||
op: Annotated[Annotated[int, ctypes.c_ubyte], 0]
|
||||
resv: Annotated[Annotated[int, ctypes.c_ubyte], 1]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
||||
resv2: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
op: int
|
||||
resv: int
|
||||
flags: int
|
||||
resv2: int
|
||||
struct_io_uring_probe_op.register_fields([('op', ctypes.c_ubyte, 0), ('resv', ctypes.c_ubyte, 1), ('flags', ctypes.c_uint16, 2), ('resv2', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_io_uring_probe(c.Struct):
|
||||
SIZE = 16
|
||||
last_op: Annotated[Annotated[int, ctypes.c_ubyte], 0]
|
||||
ops_len: Annotated[Annotated[int, ctypes.c_ubyte], 1]
|
||||
resv: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
||||
resv2: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[3]], 4]
|
||||
ops: Annotated[c.Array[struct_io_uring_probe_op, Literal[0]], 16]
|
||||
last_op: int
|
||||
ops_len: int
|
||||
resv: int
|
||||
resv2: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
ops: c.Array[struct_io_uring_probe_op, Literal[0]]
|
||||
struct_io_uring_probe.register_fields([('last_op', ctypes.c_ubyte, 0), ('ops_len', ctypes.c_ubyte, 1), ('resv', ctypes.c_uint16, 2), ('resv2', c.Array[ctypes.c_uint32, Literal[3]], 4), ('ops', c.Array[struct_io_uring_probe_op, Literal[0]], 16)])
|
||||
@c.record
|
||||
class struct_io_uring_restriction(c.Struct):
|
||||
SIZE = 16
|
||||
opcode: Annotated[Annotated[int, ctypes.c_uint16], 0]
|
||||
register_op: Annotated[Annotated[int, ctypes.c_ubyte], 2]
|
||||
sqe_op: Annotated[Annotated[int, ctypes.c_ubyte], 2]
|
||||
sqe_flags: Annotated[Annotated[int, ctypes.c_ubyte], 2]
|
||||
resv: Annotated[Annotated[int, ctypes.c_ubyte], 3]
|
||||
resv2: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[3]], 4]
|
||||
opcode: int
|
||||
register_op: int
|
||||
sqe_op: int
|
||||
sqe_flags: int
|
||||
resv: int
|
||||
resv2: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
struct_io_uring_restriction.register_fields([('opcode', ctypes.c_uint16, 0), ('register_op', ctypes.c_ubyte, 2), ('sqe_op', ctypes.c_ubyte, 2), ('sqe_flags', ctypes.c_ubyte, 2), ('resv', ctypes.c_ubyte, 3), ('resv2', c.Array[ctypes.c_uint32, Literal[3]], 4)])
|
||||
@c.record
|
||||
class struct_io_uring_clock_register(c.Struct):
|
||||
SIZE = 16
|
||||
clockid: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
__resv: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[3]], 4]
|
||||
class _anonenum2(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_REGISTER_SRC_REGISTERED = _anonenum2.define('IORING_REGISTER_SRC_REGISTERED', 1)
|
||||
IORING_REGISTER_DST_REPLACE = _anonenum2.define('IORING_REGISTER_DST_REPLACE', 2)
|
||||
|
||||
clockid: int
|
||||
__resv: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
struct_io_uring_clock_register.register_fields([('clockid', ctypes.c_uint32, 0), ('__resv', c.Array[ctypes.c_uint32, Literal[3]], 4)])
|
||||
_anonenum2: dict[int, str] = {(IORING_REGISTER_SRC_REGISTERED:=1): 'IORING_REGISTER_SRC_REGISTERED', (IORING_REGISTER_DST_REPLACE:=2): 'IORING_REGISTER_DST_REPLACE'}
|
||||
@c.record
|
||||
class struct_io_uring_clone_buffers(c.Struct):
|
||||
SIZE = 32
|
||||
src_fd: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
src_off: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
dst_off: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
nr: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[3]], 20]
|
||||
src_fd: int
|
||||
flags: int
|
||||
src_off: int
|
||||
dst_off: int
|
||||
nr: int
|
||||
pad: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
struct_io_uring_clone_buffers.register_fields([('src_fd', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('src_off', ctypes.c_uint32, 8), ('dst_off', ctypes.c_uint32, 12), ('nr', ctypes.c_uint32, 16), ('pad', c.Array[ctypes.c_uint32, Literal[3]], 20)])
|
||||
@c.record
|
||||
class struct_io_uring_buf(c.Struct):
|
||||
SIZE = 16
|
||||
addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
bid: Annotated[Annotated[int, ctypes.c_uint16], 12]
|
||||
resv: Annotated[Annotated[int, ctypes.c_uint16], 14]
|
||||
addr: int
|
||||
len: int
|
||||
bid: int
|
||||
resv: int
|
||||
struct_io_uring_buf.register_fields([('addr', ctypes.c_uint64, 0), ('len', ctypes.c_uint32, 8), ('bid', ctypes.c_uint16, 12), ('resv', ctypes.c_uint16, 14)])
|
||||
@c.record
|
||||
class struct_io_uring_buf_ring(c.Struct):
|
||||
SIZE = 16
|
||||
resv1: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
resv2: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
resv3: Annotated[Annotated[int, ctypes.c_uint16], 12]
|
||||
tail: Annotated[Annotated[int, ctypes.c_uint16], 14]
|
||||
__empty_bufs: Annotated[struct_io_uring_buf_ring___empty_bufs, 0]
|
||||
bufs: Annotated[c.Array[struct_io_uring_buf, Literal[0]], 0]
|
||||
class struct_io_uring_buf_ring___empty_bufs(c.Struct): SIZE = 0
|
||||
class enum_io_uring_register_pbuf_ring_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IOU_PBUF_RING_MMAP = enum_io_uring_register_pbuf_ring_flags.define('IOU_PBUF_RING_MMAP', 1)
|
||||
IOU_PBUF_RING_INC = enum_io_uring_register_pbuf_ring_flags.define('IOU_PBUF_RING_INC', 2)
|
||||
|
||||
resv1: int
|
||||
resv2: int
|
||||
resv3: int
|
||||
tail: int
|
||||
__empty_bufs: struct_io_uring_buf_ring___empty_bufs
|
||||
bufs: c.Array[struct_io_uring_buf, Literal[0]]
|
||||
class struct_io_uring_buf_ring___empty_bufs(c.Struct): pass
|
||||
struct_io_uring_buf_ring.register_fields([('resv1', ctypes.c_uint64, 0), ('resv2', ctypes.c_uint32, 8), ('resv3', ctypes.c_uint16, 12), ('tail', ctypes.c_uint16, 14), ('__empty_bufs', struct_io_uring_buf_ring___empty_bufs, 0), ('bufs', c.Array[struct_io_uring_buf, Literal[0]], 0)])
|
||||
enum_io_uring_register_pbuf_ring_flags: dict[int, str] = {(IOU_PBUF_RING_MMAP:=1): 'IOU_PBUF_RING_MMAP', (IOU_PBUF_RING_INC:=2): 'IOU_PBUF_RING_INC'}
|
||||
@c.record
|
||||
class struct_io_uring_buf_reg(c.Struct):
|
||||
SIZE = 40
|
||||
ring_addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
ring_entries: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
bgid: Annotated[Annotated[int, ctypes.c_uint16], 12]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint16], 14]
|
||||
resv: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[3]], 16]
|
||||
ring_addr: int
|
||||
ring_entries: int
|
||||
bgid: int
|
||||
flags: int
|
||||
resv: c.Array[ctypes.c_uint64, Literal[3]]
|
||||
struct_io_uring_buf_reg.register_fields([('ring_addr', ctypes.c_uint64, 0), ('ring_entries', ctypes.c_uint32, 8), ('bgid', ctypes.c_uint16, 12), ('flags', ctypes.c_uint16, 14), ('resv', c.Array[ctypes.c_uint64, Literal[3]], 16)])
|
||||
@c.record
|
||||
class struct_io_uring_buf_status(c.Struct):
|
||||
SIZE = 40
|
||||
buf_group: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
head: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
resv: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[8]], 8]
|
||||
class enum_io_uring_napi_op(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IO_URING_NAPI_REGISTER_OP = enum_io_uring_napi_op.define('IO_URING_NAPI_REGISTER_OP', 0)
|
||||
IO_URING_NAPI_STATIC_ADD_ID = enum_io_uring_napi_op.define('IO_URING_NAPI_STATIC_ADD_ID', 1)
|
||||
IO_URING_NAPI_STATIC_DEL_ID = enum_io_uring_napi_op.define('IO_URING_NAPI_STATIC_DEL_ID', 2)
|
||||
|
||||
class enum_io_uring_napi_tracking_strategy(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IO_URING_NAPI_TRACKING_DYNAMIC = enum_io_uring_napi_tracking_strategy.define('IO_URING_NAPI_TRACKING_DYNAMIC', 0)
|
||||
IO_URING_NAPI_TRACKING_STATIC = enum_io_uring_napi_tracking_strategy.define('IO_URING_NAPI_TRACKING_STATIC', 1)
|
||||
IO_URING_NAPI_TRACKING_INACTIVE = enum_io_uring_napi_tracking_strategy.define('IO_URING_NAPI_TRACKING_INACTIVE', 255)
|
||||
|
||||
buf_group: int
|
||||
head: int
|
||||
resv: c.Array[ctypes.c_uint32, Literal[8]]
|
||||
struct_io_uring_buf_status.register_fields([('buf_group', ctypes.c_uint32, 0), ('head', ctypes.c_uint32, 4), ('resv', c.Array[ctypes.c_uint32, Literal[8]], 8)])
|
||||
enum_io_uring_napi_op: dict[int, str] = {(IO_URING_NAPI_REGISTER_OP:=0): 'IO_URING_NAPI_REGISTER_OP', (IO_URING_NAPI_STATIC_ADD_ID:=1): 'IO_URING_NAPI_STATIC_ADD_ID', (IO_URING_NAPI_STATIC_DEL_ID:=2): 'IO_URING_NAPI_STATIC_DEL_ID'}
|
||||
enum_io_uring_napi_tracking_strategy: dict[int, str] = {(IO_URING_NAPI_TRACKING_DYNAMIC:=0): 'IO_URING_NAPI_TRACKING_DYNAMIC', (IO_URING_NAPI_TRACKING_STATIC:=1): 'IO_URING_NAPI_TRACKING_STATIC', (IO_URING_NAPI_TRACKING_INACTIVE:=255): 'IO_URING_NAPI_TRACKING_INACTIVE'}
|
||||
@c.record
|
||||
class struct_io_uring_napi(c.Struct):
|
||||
SIZE = 16
|
||||
busy_poll_to: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
prefer_busy_poll: Annotated[Annotated[int, ctypes.c_ubyte], 4]
|
||||
opcode: Annotated[Annotated[int, ctypes.c_ubyte], 5]
|
||||
pad: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[2]], 6]
|
||||
op_param: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
resv: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
class enum_io_uring_register_restriction_op(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_RESTRICTION_REGISTER_OP = enum_io_uring_register_restriction_op.define('IORING_RESTRICTION_REGISTER_OP', 0)
|
||||
IORING_RESTRICTION_SQE_OP = enum_io_uring_register_restriction_op.define('IORING_RESTRICTION_SQE_OP', 1)
|
||||
IORING_RESTRICTION_SQE_FLAGS_ALLOWED = enum_io_uring_register_restriction_op.define('IORING_RESTRICTION_SQE_FLAGS_ALLOWED', 2)
|
||||
IORING_RESTRICTION_SQE_FLAGS_REQUIRED = enum_io_uring_register_restriction_op.define('IORING_RESTRICTION_SQE_FLAGS_REQUIRED', 3)
|
||||
IORING_RESTRICTION_LAST = enum_io_uring_register_restriction_op.define('IORING_RESTRICTION_LAST', 4)
|
||||
|
||||
class _anonenum3(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_REG_WAIT_TS = _anonenum3.define('IORING_REG_WAIT_TS', 1)
|
||||
|
||||
busy_poll_to: int
|
||||
prefer_busy_poll: int
|
||||
opcode: int
|
||||
pad: c.Array[ctypes.c_ubyte, Literal[2]]
|
||||
op_param: int
|
||||
resv: int
|
||||
struct_io_uring_napi.register_fields([('busy_poll_to', ctypes.c_uint32, 0), ('prefer_busy_poll', ctypes.c_ubyte, 4), ('opcode', ctypes.c_ubyte, 5), ('pad', c.Array[ctypes.c_ubyte, Literal[2]], 6), ('op_param', ctypes.c_uint32, 8), ('resv', ctypes.c_uint32, 12)])
|
||||
enum_io_uring_register_restriction_op: dict[int, str] = {(IORING_RESTRICTION_REGISTER_OP:=0): 'IORING_RESTRICTION_REGISTER_OP', (IORING_RESTRICTION_SQE_OP:=1): 'IORING_RESTRICTION_SQE_OP', (IORING_RESTRICTION_SQE_FLAGS_ALLOWED:=2): 'IORING_RESTRICTION_SQE_FLAGS_ALLOWED', (IORING_RESTRICTION_SQE_FLAGS_REQUIRED:=3): 'IORING_RESTRICTION_SQE_FLAGS_REQUIRED', (IORING_RESTRICTION_LAST:=4): 'IORING_RESTRICTION_LAST'}
|
||||
_anonenum3: dict[int, str] = {(IORING_REG_WAIT_TS:=1): 'IORING_REG_WAIT_TS'}
|
||||
@c.record
|
||||
class struct_io_uring_reg_wait(c.Struct):
|
||||
SIZE = 64
|
||||
ts: Annotated[struct___kernel_timespec, 0]
|
||||
min_wait_usec: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
sigmask: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
sigmask_sz: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
||||
pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[3]], 36]
|
||||
pad2: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[2]], 48]
|
||||
ts: struct___kernel_timespec
|
||||
min_wait_usec: int
|
||||
flags: int
|
||||
sigmask: int
|
||||
sigmask_sz: int
|
||||
pad: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
pad2: c.Array[ctypes.c_uint64, Literal[2]]
|
||||
@c.record
|
||||
class struct___kernel_timespec(c.Struct):
|
||||
SIZE = 16
|
||||
tv_sec: Annotated[Annotated[int, ctypes.c_int64], 0]
|
||||
tv_nsec: Annotated[Annotated[int, ctypes.c_int64], 8]
|
||||
__kernel_time64_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
tv_sec: int
|
||||
tv_nsec: int
|
||||
__kernel_time64_t: TypeAlias = ctypes.c_int64
|
||||
struct___kernel_timespec.register_fields([('tv_sec', ctypes.c_int64, 0), ('tv_nsec', ctypes.c_int64, 8)])
|
||||
struct_io_uring_reg_wait.register_fields([('ts', struct___kernel_timespec, 0), ('min_wait_usec', ctypes.c_uint32, 16), ('flags', ctypes.c_uint32, 20), ('sigmask', ctypes.c_uint64, 24), ('sigmask_sz', ctypes.c_uint32, 32), ('pad', c.Array[ctypes.c_uint32, Literal[3]], 36), ('pad2', c.Array[ctypes.c_uint64, Literal[2]], 48)])
|
||||
@c.record
|
||||
class struct_io_uring_getevents_arg(c.Struct):
|
||||
SIZE = 24
|
||||
sigmask: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
sigmask_sz: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
min_wait_usec: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
ts: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
sigmask: int
|
||||
sigmask_sz: int
|
||||
min_wait_usec: int
|
||||
ts: int
|
||||
struct_io_uring_getevents_arg.register_fields([('sigmask', ctypes.c_uint64, 0), ('sigmask_sz', ctypes.c_uint32, 8), ('min_wait_usec', ctypes.c_uint32, 12), ('ts', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_io_uring_sync_cancel_reg(c.Struct):
|
||||
SIZE = 64
|
||||
addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
timeout: Annotated[struct___kernel_timespec, 16]
|
||||
opcode: Annotated[Annotated[int, ctypes.c_ubyte], 32]
|
||||
pad: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[7]], 33]
|
||||
pad2: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[3]], 40]
|
||||
addr: int
|
||||
fd: int
|
||||
flags: int
|
||||
timeout: struct___kernel_timespec
|
||||
opcode: int
|
||||
pad: c.Array[ctypes.c_ubyte, Literal[7]]
|
||||
pad2: c.Array[ctypes.c_uint64, Literal[3]]
|
||||
struct_io_uring_sync_cancel_reg.register_fields([('addr', ctypes.c_uint64, 0), ('fd', ctypes.c_int32, 8), ('flags', ctypes.c_uint32, 12), ('timeout', struct___kernel_timespec, 16), ('opcode', ctypes.c_ubyte, 32), ('pad', c.Array[ctypes.c_ubyte, Literal[7]], 33), ('pad2', c.Array[ctypes.c_uint64, Literal[3]], 40)])
|
||||
@c.record
|
||||
class struct_io_uring_file_index_range(c.Struct):
|
||||
SIZE = 16
|
||||
off: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
resv: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
off: int
|
||||
len: int
|
||||
resv: int
|
||||
struct_io_uring_file_index_range.register_fields([('off', ctypes.c_uint32, 0), ('len', ctypes.c_uint32, 4), ('resv', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_io_uring_recvmsg_out(c.Struct):
|
||||
SIZE = 16
|
||||
namelen: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
controllen: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
payloadlen: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
class enum_io_uring_socket_op(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
SOCKET_URING_OP_SIOCINQ = enum_io_uring_socket_op.define('SOCKET_URING_OP_SIOCINQ', 0)
|
||||
SOCKET_URING_OP_SIOCOUTQ = enum_io_uring_socket_op.define('SOCKET_URING_OP_SIOCOUTQ', 1)
|
||||
SOCKET_URING_OP_GETSOCKOPT = enum_io_uring_socket_op.define('SOCKET_URING_OP_GETSOCKOPT', 2)
|
||||
SOCKET_URING_OP_SETSOCKOPT = enum_io_uring_socket_op.define('SOCKET_URING_OP_SETSOCKOPT', 3)
|
||||
SOCKET_URING_OP_TX_TIMESTAMP = enum_io_uring_socket_op.define('SOCKET_URING_OP_TX_TIMESTAMP', 4)
|
||||
|
||||
namelen: int
|
||||
controllen: int
|
||||
payloadlen: int
|
||||
flags: int
|
||||
struct_io_uring_recvmsg_out.register_fields([('namelen', ctypes.c_uint32, 0), ('controllen', ctypes.c_uint32, 4), ('payloadlen', ctypes.c_uint32, 8), ('flags', ctypes.c_uint32, 12)])
|
||||
enum_io_uring_socket_op: dict[int, str] = {(SOCKET_URING_OP_SIOCINQ:=0): 'SOCKET_URING_OP_SIOCINQ', (SOCKET_URING_OP_SIOCOUTQ:=1): 'SOCKET_URING_OP_SIOCOUTQ', (SOCKET_URING_OP_GETSOCKOPT:=2): 'SOCKET_URING_OP_GETSOCKOPT', (SOCKET_URING_OP_SETSOCKOPT:=3): 'SOCKET_URING_OP_SETSOCKOPT', (SOCKET_URING_OP_TX_TIMESTAMP:=4): 'SOCKET_URING_OP_TX_TIMESTAMP'}
|
||||
@c.record
|
||||
class struct_io_timespec(c.Struct):
|
||||
SIZE = 16
|
||||
tv_sec: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
tv_nsec: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
tv_sec: int
|
||||
tv_nsec: int
|
||||
struct_io_timespec.register_fields([('tv_sec', ctypes.c_uint64, 0), ('tv_nsec', ctypes.c_uint64, 8)])
|
||||
struct_io_uring_zcrx_rqe.register_fields([('off', ctypes.c_uint64, 0), ('len', ctypes.c_uint32, 8), ('__pad', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_io_uring_zcrx_cqe(c.Struct):
|
||||
SIZE = 16
|
||||
off: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
__pad: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
off: int
|
||||
__pad: int
|
||||
struct_io_uring_zcrx_cqe.register_fields([('off', ctypes.c_uint64, 0), ('__pad', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_io_uring_zcrx_offsets(c.Struct):
|
||||
SIZE = 32
|
||||
head: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
tail: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
rqes: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
__resv2: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
__resv: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[2]], 16]
|
||||
class enum_io_uring_zcrx_area_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
IORING_ZCRX_AREA_DMABUF = enum_io_uring_zcrx_area_flags.define('IORING_ZCRX_AREA_DMABUF', 1)
|
||||
|
||||
head: int
|
||||
tail: int
|
||||
rqes: int
|
||||
__resv2: int
|
||||
__resv: c.Array[ctypes.c_uint64, Literal[2]]
|
||||
struct_io_uring_zcrx_offsets.register_fields([('head', ctypes.c_uint32, 0), ('tail', ctypes.c_uint32, 4), ('rqes', ctypes.c_uint32, 8), ('__resv2', ctypes.c_uint32, 12), ('__resv', c.Array[ctypes.c_uint64, Literal[2]], 16)])
|
||||
enum_io_uring_zcrx_area_flags: dict[int, str] = {(IORING_ZCRX_AREA_DMABUF:=1): 'IORING_ZCRX_AREA_DMABUF'}
|
||||
@c.record
|
||||
class struct_io_uring_zcrx_area_reg(c.Struct):
|
||||
SIZE = 48
|
||||
addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
rq_area_token: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
dmabuf_fd: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
__resv2: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[2]], 32]
|
||||
addr: int
|
||||
len: int
|
||||
rq_area_token: int
|
||||
flags: int
|
||||
dmabuf_fd: int
|
||||
__resv2: c.Array[ctypes.c_uint64, Literal[2]]
|
||||
struct_io_uring_zcrx_area_reg.register_fields([('addr', ctypes.c_uint64, 0), ('len', ctypes.c_uint64, 8), ('rq_area_token', ctypes.c_uint64, 16), ('flags', ctypes.c_uint32, 24), ('dmabuf_fd', ctypes.c_uint32, 28), ('__resv2', c.Array[ctypes.c_uint64, Literal[2]], 32)])
|
||||
@c.record
|
||||
class struct_io_uring_zcrx_ifq_reg(c.Struct):
|
||||
SIZE = 96
|
||||
if_idx: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
if_rxq: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
rq_entries: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
area_ptr: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
region_ptr: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
offsets: Annotated[struct_io_uring_zcrx_offsets, 32]
|
||||
zcrx_id: Annotated[Annotated[int, ctypes.c_uint32], 64]
|
||||
__resv2: Annotated[Annotated[int, ctypes.c_uint32], 68]
|
||||
__resv: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[3]], 72]
|
||||
c.init_records()
|
||||
if_idx: int
|
||||
if_rxq: int
|
||||
rq_entries: int
|
||||
flags: int
|
||||
area_ptr: int
|
||||
region_ptr: int
|
||||
offsets: struct_io_uring_zcrx_offsets
|
||||
zcrx_id: int
|
||||
__resv2: int
|
||||
__resv: c.Array[ctypes.c_uint64, Literal[3]]
|
||||
struct_io_uring_zcrx_ifq_reg.register_fields([('if_idx', ctypes.c_uint32, 0), ('if_rxq', ctypes.c_uint32, 4), ('rq_entries', ctypes.c_uint32, 8), ('flags', ctypes.c_uint32, 12), ('area_ptr', ctypes.c_uint64, 16), ('region_ptr', ctypes.c_uint64, 24), ('offsets', struct_io_uring_zcrx_offsets, 32), ('zcrx_id', ctypes.c_uint32, 64), ('__resv2', ctypes.c_uint32, 68), ('__resv', c.Array[ctypes.c_uint64, Literal[3]], 72)])
|
||||
uring_unlikely = lambda cond: __builtin_expect( not not (cond), 0) # type: ignore
|
||||
uring_likely = lambda cond: __builtin_expect( not not (cond), 1) # type: ignore
|
||||
NR_io_uring_setup = 425 # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,279 +1,275 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
dll = c.DLL('iokit', 'IOKit')
|
||||
class struct_IONotificationPort(c.Struct): SIZE = 0
|
||||
class struct_IONotificationPort(c.Struct): pass
|
||||
IONotificationPortRef: TypeAlias = c.POINTER[struct_IONotificationPort]
|
||||
IOServiceMatchingCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, Annotated[int, ctypes.c_uint32]]]
|
||||
IOServiceInterestCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, Annotated[int, ctypes.c_uint32], Annotated[int, ctypes.c_uint32], ctypes.c_void_p]]
|
||||
mach_port_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
IOServiceMatchingCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_uint32]]
|
||||
IOServiceInterestCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_void_p]]
|
||||
mach_port_t: TypeAlias = ctypes.c_uint32
|
||||
try: kIOMainPortDefault = mach_port_t.in_dll(dll, 'kIOMainPortDefault') # type: ignore
|
||||
except (ValueError,AttributeError): pass
|
||||
kern_return_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
@dll.bind
|
||||
kern_return_t: TypeAlias = ctypes.c_int32
|
||||
@dll.bind(kern_return_t, mach_port_t, c.POINTER[mach_port_t])
|
||||
def IOMainPort(bootstrapPort:mach_port_t, mainPort:c.POINTER[mach_port_t]) -> kern_return_t: ...
|
||||
try: kIOMasterPortDefault = mach_port_t.in_dll(dll, 'kIOMasterPortDefault') # type: ignore
|
||||
except (ValueError,AttributeError): pass
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, c.POINTER[mach_port_t])
|
||||
def IOMasterPort(bootstrapPort:mach_port_t, mainPort:c.POINTER[mach_port_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(IONotificationPortRef, mach_port_t)
|
||||
def IONotificationPortCreate(mainPort:mach_port_t) -> IONotificationPortRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, IONotificationPortRef)
|
||||
def IONotificationPortDestroy(notify:IONotificationPortRef) -> None: ...
|
||||
class struct___CFRunLoopSource(c.Struct): SIZE = 0
|
||||
class struct___CFRunLoopSource(c.Struct): pass
|
||||
CFRunLoopSourceRef: TypeAlias = c.POINTER[struct___CFRunLoopSource]
|
||||
@dll.bind
|
||||
@dll.bind(CFRunLoopSourceRef, IONotificationPortRef)
|
||||
def IONotificationPortGetRunLoopSource(notify:IONotificationPortRef) -> CFRunLoopSourceRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(mach_port_t, IONotificationPortRef)
|
||||
def IONotificationPortGetMachPort(notify:IONotificationPortRef) -> mach_port_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, IONotificationPortRef)
|
||||
def IONotificationPortSetImportanceReceiver(notify:IONotificationPortRef) -> kern_return_t: ...
|
||||
class struct_dispatch_queue_s(c.Struct): SIZE = 0
|
||||
class struct_dispatch_queue_s(c.Struct): pass
|
||||
dispatch_queue_t: TypeAlias = c.POINTER[struct_dispatch_queue_s]
|
||||
@dll.bind
|
||||
@dll.bind(None, IONotificationPortRef, dispatch_queue_t)
|
||||
def IONotificationPortSetDispatchQueue(notify:IONotificationPortRef, queue:dispatch_queue_t) -> None: ...
|
||||
@c.record
|
||||
class mach_msg_header_t(c.Struct):
|
||||
SIZE = 24
|
||||
msgh_bits: Annotated[mach_msg_bits_t, 0]
|
||||
msgh_size: Annotated[mach_msg_size_t, 4]
|
||||
msgh_remote_port: Annotated[mach_port_t, 8]
|
||||
msgh_local_port: Annotated[mach_port_t, 12]
|
||||
msgh_voucher_port: Annotated[mach_port_name_t, 16]
|
||||
msgh_id: Annotated[mach_msg_id_t, 20]
|
||||
mach_msg_bits_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
mach_msg_size_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
mach_port_name_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
mach_msg_id_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
@dll.bind
|
||||
msgh_bits: int
|
||||
msgh_size: int
|
||||
msgh_remote_port: int
|
||||
msgh_local_port: int
|
||||
msgh_voucher_port: int
|
||||
msgh_id: int
|
||||
mach_msg_bits_t: TypeAlias = ctypes.c_uint32
|
||||
mach_msg_size_t: TypeAlias = ctypes.c_uint32
|
||||
mach_port_name_t: TypeAlias = ctypes.c_uint32
|
||||
mach_msg_id_t: TypeAlias = ctypes.c_int32
|
||||
mach_msg_header_t.register_fields([('msgh_bits', mach_msg_bits_t, 0), ('msgh_size', mach_msg_size_t, 4), ('msgh_remote_port', mach_port_t, 8), ('msgh_local_port', mach_port_t, 12), ('msgh_voucher_port', mach_port_name_t, 16), ('msgh_id', mach_msg_id_t, 20)])
|
||||
@dll.bind(None, ctypes.c_void_p, c.POINTER[mach_msg_header_t], ctypes.c_void_p)
|
||||
def IODispatchCalloutFromMessage(unused:ctypes.c_void_p, msg:c.POINTER[mach_msg_header_t], reference:ctypes.c_void_p) -> None: ...
|
||||
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
uint32_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(kern_return_t, uint32_t, c.POINTER[mach_port_t])
|
||||
def IOCreateReceivePort(msgType:uint32_t, recvPort:c.POINTER[mach_port_t]) -> kern_return_t: ...
|
||||
io_object_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
io_object_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(kern_return_t, io_object_t)
|
||||
def IOObjectRelease(object:io_object_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_object_t)
|
||||
def IOObjectRetain(object:io_object_t) -> kern_return_t: ...
|
||||
io_name_t: TypeAlias = c.Array[Annotated[bytes, ctypes.c_char], Literal[128]]
|
||||
@dll.bind
|
||||
io_name_t: TypeAlias = c.Array[ctypes.c_char, Literal[128]]
|
||||
@dll.bind(kern_return_t, io_object_t, io_name_t)
|
||||
def IOObjectGetClass(object:io_object_t, className:io_name_t) -> kern_return_t: ...
|
||||
class struct___CFString(c.Struct): SIZE = 0
|
||||
class struct___CFString(c.Struct): pass
|
||||
CFStringRef: TypeAlias = c.POINTER[struct___CFString]
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, io_object_t)
|
||||
def IOObjectCopyClass(object:io_object_t) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFStringRef)
|
||||
def IOObjectCopySuperclassForClass(classname:CFStringRef) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, CFStringRef)
|
||||
def IOObjectCopyBundleIdentifierForClass(classname:CFStringRef) -> CFStringRef: ...
|
||||
boolean_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
@dll.bind
|
||||
boolean_t: TypeAlias = ctypes.c_int32
|
||||
@dll.bind(boolean_t, io_object_t, io_name_t)
|
||||
def IOObjectConformsTo(object:io_object_t, className:io_name_t) -> boolean_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(boolean_t, io_object_t, io_object_t)
|
||||
def IOObjectIsEqualTo(object:io_object_t, anObject:io_object_t) -> boolean_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(uint32_t, io_object_t)
|
||||
def IOObjectGetKernelRetainCount(object:io_object_t) -> uint32_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(uint32_t, io_object_t)
|
||||
def IOObjectGetUserRetainCount(object:io_object_t) -> uint32_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(uint32_t, io_object_t)
|
||||
def IOObjectGetRetainCount(object:io_object_t) -> uint32_t: ...
|
||||
io_iterator_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
io_iterator_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(io_object_t, io_iterator_t)
|
||||
def IOIteratorNext(iterator:io_iterator_t) -> io_object_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, io_iterator_t)
|
||||
def IOIteratorReset(iterator:io_iterator_t) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(boolean_t, io_iterator_t)
|
||||
def IOIteratorIsValid(iterator:io_iterator_t) -> boolean_t: ...
|
||||
class struct___CFDictionary(c.Struct): SIZE = 0
|
||||
io_service_t: TypeAlias = ctypes.c_uint32
|
||||
class struct___CFDictionary(c.Struct): pass
|
||||
CFDictionaryRef: TypeAlias = c.POINTER[struct___CFDictionary]
|
||||
io_service_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
@dll.bind(io_service_t, mach_port_t, CFDictionaryRef)
|
||||
def IOServiceGetMatchingService(mainPort:mach_port_t, matching:CFDictionaryRef) -> io_service_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, CFDictionaryRef, c.POINTER[io_iterator_t])
|
||||
def IOServiceGetMatchingServices(mainPort:mach_port_t, matching:CFDictionaryRef, existing:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
||||
uintptr_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
uintptr_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(kern_return_t, mach_port_t, io_name_t, CFDictionaryRef, mach_port_t, uintptr_t, c.POINTER[io_iterator_t])
|
||||
def IOServiceAddNotification(mainPort:mach_port_t, notificationType:io_name_t, matching:CFDictionaryRef, wakePort:mach_port_t, reference:uintptr_t, notification:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, IONotificationPortRef, io_name_t, CFDictionaryRef, IOServiceMatchingCallback, ctypes.c_void_p, c.POINTER[io_iterator_t])
|
||||
def IOServiceAddMatchingNotification(notifyPort:IONotificationPortRef, notificationType:io_name_t, matching:CFDictionaryRef, callback:IOServiceMatchingCallback, refCon:ctypes.c_void_p, notification:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, IONotificationPortRef, io_service_t, io_name_t, IOServiceInterestCallback, ctypes.c_void_p, c.POINTER[io_object_t])
|
||||
def IOServiceAddInterestNotification(notifyPort:IONotificationPortRef, service:io_service_t, interestType:io_name_t, callback:IOServiceInterestCallback, refCon:ctypes.c_void_p, notification:c.POINTER[io_object_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_service_t, CFDictionaryRef, c.POINTER[boolean_t])
|
||||
def IOServiceMatchPropertyTable(service:io_service_t, matching:CFDictionaryRef, matches:c.POINTER[boolean_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_service_t, c.POINTER[uint32_t])
|
||||
def IOServiceGetBusyState(service:io_service_t, busyState:c.POINTER[uint32_t]) -> kern_return_t: ...
|
||||
@c.record
|
||||
class struct_mach_timespec(c.Struct):
|
||||
SIZE = 8
|
||||
tv_sec: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
tv_nsec: Annotated[clock_res_t, 4]
|
||||
tv_sec: int
|
||||
tv_nsec: int
|
||||
mach_timespec_t: TypeAlias = struct_mach_timespec
|
||||
clock_res_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
@dll.bind
|
||||
clock_res_t: TypeAlias = ctypes.c_int32
|
||||
struct_mach_timespec.register_fields([('tv_sec', ctypes.c_uint32, 0), ('tv_nsec', clock_res_t, 4)])
|
||||
@dll.bind(kern_return_t, io_service_t, c.POINTER[mach_timespec_t])
|
||||
def IOServiceWaitQuiet(service:io_service_t, waitTime:c.POINTER[mach_timespec_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, c.POINTER[uint32_t])
|
||||
def IOKitGetBusyState(mainPort:mach_port_t, busyState:c.POINTER[uint32_t]) -> kern_return_t: ...
|
||||
IOOptionBits: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
IOOptionBits: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(kern_return_t, mach_port_t, c.POINTER[mach_timespec_t], IOOptionBits)
|
||||
def IOKitWaitQuietWithOptions(mainPort:mach_port_t, waitTime:c.POINTER[mach_timespec_t], options:IOOptionBits) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, c.POINTER[mach_timespec_t])
|
||||
def IOKitWaitQuiet(mainPort:mach_port_t, waitTime:c.POINTER[mach_timespec_t]) -> kern_return_t: ...
|
||||
task_port_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
io_connect_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
task_port_t: TypeAlias = ctypes.c_uint32
|
||||
io_connect_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(kern_return_t, io_service_t, task_port_t, uint32_t, c.POINTER[io_connect_t])
|
||||
def IOServiceOpen(service:io_service_t, owningTask:task_port_t, type:uint32_t, connect:c.POINTER[io_connect_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_service_t, uint32_t)
|
||||
def IOServiceRequestProbe(service:io_service_t, options:uint32_t) -> kern_return_t: ...
|
||||
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
kIOServiceInteractionAllowed = _anonenum0.define('kIOServiceInteractionAllowed', 1)
|
||||
|
||||
@dll.bind
|
||||
_anonenum0: dict[int, str] = {(kIOServiceInteractionAllowed:=1): 'kIOServiceInteractionAllowed'}
|
||||
@dll.bind(kern_return_t, io_service_t, uint32_t)
|
||||
def IOServiceAuthorize(service:io_service_t, options:uint32_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
def IOServiceOpenAsFileDescriptor(service:io_service_t, oflag:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, io_service_t, ctypes.c_int32)
|
||||
def IOServiceOpenAsFileDescriptor(service:io_service_t, oflag:int) -> int: ...
|
||||
@dll.bind(kern_return_t, io_connect_t)
|
||||
def IOServiceClose(connect:io_connect_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t)
|
||||
def IOConnectAddRef(connect:io_connect_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t)
|
||||
def IOConnectRelease(connect:io_connect_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, c.POINTER[io_service_t])
|
||||
def IOConnectGetService(connect:io_connect_t, service:c.POINTER[io_service_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, mach_port_t, uintptr_t)
|
||||
def IOConnectSetNotificationPort(connect:io_connect_t, type:uint32_t, port:mach_port_t, reference:uintptr_t) -> kern_return_t: ...
|
||||
mach_vm_address_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
mach_vm_size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
mach_vm_address_t: TypeAlias = ctypes.c_uint64
|
||||
mach_vm_size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, task_port_t, c.POINTER[mach_vm_address_t], c.POINTER[mach_vm_size_t], IOOptionBits)
|
||||
def IOConnectMapMemory(connect:io_connect_t, memoryType:uint32_t, intoTask:task_port_t, atAddress:c.POINTER[mach_vm_address_t], ofSize:c.POINTER[mach_vm_size_t], options:IOOptionBits) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, task_port_t, c.POINTER[mach_vm_address_t], c.POINTER[mach_vm_size_t], IOOptionBits)
|
||||
def IOConnectMapMemory64(connect:io_connect_t, memoryType:uint32_t, intoTask:task_port_t, atAddress:c.POINTER[mach_vm_address_t], ofSize:c.POINTER[mach_vm_size_t], options:IOOptionBits) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, task_port_t, mach_vm_address_t)
|
||||
def IOConnectUnmapMemory(connect:io_connect_t, memoryType:uint32_t, fromTask:task_port_t, atAddress:mach_vm_address_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, task_port_t, mach_vm_address_t)
|
||||
def IOConnectUnmapMemory64(connect:io_connect_t, memoryType:uint32_t, fromTask:task_port_t, atAddress:mach_vm_address_t) -> kern_return_t: ...
|
||||
CFTypeRef: TypeAlias = ctypes.c_void_p
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, CFTypeRef)
|
||||
def IOConnectSetCFProperties(connect:io_connect_t, properties:CFTypeRef) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, CFStringRef, CFTypeRef)
|
||||
def IOConnectSetCFProperty(connect:io_connect_t, propertyName:CFStringRef, property:CFTypeRef) -> kern_return_t: ...
|
||||
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
uint64_t: TypeAlias = ctypes.c_uint64
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, c.POINTER[uint64_t], uint32_t, ctypes.c_void_p, size_t, c.POINTER[uint64_t], c.POINTER[uint32_t], ctypes.c_void_p, c.POINTER[size_t])
|
||||
def IOConnectCallMethod(connection:mach_port_t, selector:uint32_t, input:c.POINTER[uint64_t], inputCnt:uint32_t, inputStruct:ctypes.c_void_p, inputStructCnt:size_t, output:c.POINTER[uint64_t], outputCnt:c.POINTER[uint32_t], outputStruct:ctypes.c_void_p, outputStructCnt:c.POINTER[size_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, mach_port_t, c.POINTER[uint64_t], uint32_t, c.POINTER[uint64_t], uint32_t, ctypes.c_void_p, size_t, c.POINTER[uint64_t], c.POINTER[uint32_t], ctypes.c_void_p, c.POINTER[size_t])
|
||||
def IOConnectCallAsyncMethod(connection:mach_port_t, selector:uint32_t, wake_port:mach_port_t, reference:c.POINTER[uint64_t], referenceCnt:uint32_t, input:c.POINTER[uint64_t], inputCnt:uint32_t, inputStruct:ctypes.c_void_p, inputStructCnt:size_t, output:c.POINTER[uint64_t], outputCnt:c.POINTER[uint32_t], outputStruct:ctypes.c_void_p, outputStructCnt:c.POINTER[size_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, ctypes.c_void_p, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def IOConnectCallStructMethod(connection:mach_port_t, selector:uint32_t, inputStruct:ctypes.c_void_p, inputStructCnt:size_t, outputStruct:ctypes.c_void_p, outputStructCnt:c.POINTER[size_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, mach_port_t, c.POINTER[uint64_t], uint32_t, ctypes.c_void_p, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def IOConnectCallAsyncStructMethod(connection:mach_port_t, selector:uint32_t, wake_port:mach_port_t, reference:c.POINTER[uint64_t], referenceCnt:uint32_t, inputStruct:ctypes.c_void_p, inputStructCnt:size_t, outputStruct:ctypes.c_void_p, outputStructCnt:c.POINTER[size_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, c.POINTER[uint64_t], uint32_t, c.POINTER[uint64_t], c.POINTER[uint32_t])
|
||||
def IOConnectCallScalarMethod(connection:mach_port_t, selector:uint32_t, input:c.POINTER[uint64_t], inputCnt:uint32_t, output:c.POINTER[uint64_t], outputCnt:c.POINTER[uint32_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, mach_port_t, c.POINTER[uint64_t], uint32_t, c.POINTER[uint64_t], uint32_t, c.POINTER[uint64_t], c.POINTER[uint32_t])
|
||||
def IOConnectCallAsyncScalarMethod(connection:mach_port_t, selector:uint32_t, wake_port:mach_port_t, reference:c.POINTER[uint64_t], referenceCnt:uint32_t, input:c.POINTER[uint64_t], inputCnt:uint32_t, output:c.POINTER[uint64_t], outputCnt:c.POINTER[uint32_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t)
|
||||
def IOConnectTrap0(connect:io_connect_t, index:uint32_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t)
|
||||
def IOConnectTrap1(connect:io_connect_t, index:uint32_t, p1:uintptr_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t)
|
||||
def IOConnectTrap2(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t, uintptr_t)
|
||||
def IOConnectTrap3(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t, p3:uintptr_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t)
|
||||
def IOConnectTrap4(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t, p3:uintptr_t, p4:uintptr_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t)
|
||||
def IOConnectTrap5(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t, p3:uintptr_t, p4:uintptr_t, p5:uintptr_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, uint32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t)
|
||||
def IOConnectTrap6(connect:io_connect_t, index:uint32_t, p1:uintptr_t, p2:uintptr_t, p3:uintptr_t, p4:uintptr_t, p5:uintptr_t, p6:uintptr_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_connect_t, io_connect_t)
|
||||
def IOConnectAddClient(connect:io_connect_t, client:io_connect_t) -> kern_return_t: ...
|
||||
io_registry_entry_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
io_registry_entry_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(io_registry_entry_t, mach_port_t)
|
||||
def IORegistryGetRootEntry(mainPort:mach_port_t) -> io_registry_entry_t: ...
|
||||
io_string_t: TypeAlias = c.Array[Annotated[bytes, ctypes.c_char], Literal[512]]
|
||||
@dll.bind
|
||||
io_string_t: TypeAlias = c.Array[ctypes.c_char, Literal[512]]
|
||||
@dll.bind(io_registry_entry_t, mach_port_t, io_string_t)
|
||||
def IORegistryEntryFromPath(mainPort:mach_port_t, path:io_string_t) -> io_registry_entry_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(io_registry_entry_t, mach_port_t, CFStringRef)
|
||||
def IORegistryEntryCopyFromPath(mainPort:mach_port_t, path:CFStringRef) -> io_registry_entry_t: ...
|
||||
class _anonenum1(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
kIORegistryIterateRecursively = _anonenum1.define('kIORegistryIterateRecursively', 1)
|
||||
kIORegistryIterateParents = _anonenum1.define('kIORegistryIterateParents', 2)
|
||||
|
||||
@dll.bind
|
||||
_anonenum1: dict[int, str] = {(kIORegistryIterateRecursively:=1): 'kIORegistryIterateRecursively', (kIORegistryIterateParents:=2): 'kIORegistryIterateParents'}
|
||||
@dll.bind(kern_return_t, mach_port_t, io_name_t, IOOptionBits, c.POINTER[io_iterator_t])
|
||||
def IORegistryCreateIterator(mainPort:mach_port_t, plane:io_name_t, options:IOOptionBits, iterator:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, IOOptionBits, c.POINTER[io_iterator_t])
|
||||
def IORegistryEntryCreateIterator(entry:io_registry_entry_t, plane:io_name_t, options:IOOptionBits, iterator:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_iterator_t)
|
||||
def IORegistryIteratorEnterEntry(iterator:io_iterator_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_iterator_t)
|
||||
def IORegistryIteratorExitEntry(iterator:io_iterator_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t)
|
||||
def IORegistryEntryGetName(entry:io_registry_entry_t, name:io_name_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, io_name_t)
|
||||
def IORegistryEntryGetNameInPlane(entry:io_registry_entry_t, plane:io_name_t, name:io_name_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, io_name_t)
|
||||
def IORegistryEntryGetLocationInPlane(entry:io_registry_entry_t, plane:io_name_t, location:io_name_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, io_string_t)
|
||||
def IORegistryEntryGetPath(entry:io_registry_entry_t, plane:io_name_t, path:io_string_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFStringRef, io_registry_entry_t, io_name_t)
|
||||
def IORegistryEntryCopyPath(entry:io_registry_entry_t, plane:io_name_t) -> CFStringRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, c.POINTER[uint64_t])
|
||||
def IORegistryEntryGetRegistryEntryID(entry:io_registry_entry_t, entryID:c.POINTER[uint64_t]) -> kern_return_t: ...
|
||||
CFMutableDictionaryRef: TypeAlias = c.POINTER[struct___CFDictionary]
|
||||
class struct___CFAllocator(c.Struct): SIZE = 0
|
||||
class struct___CFAllocator(c.Struct): pass
|
||||
CFAllocatorRef: TypeAlias = c.POINTER[struct___CFAllocator]
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, c.POINTER[CFMutableDictionaryRef], CFAllocatorRef, IOOptionBits)
|
||||
def IORegistryEntryCreateCFProperties(entry:io_registry_entry_t, properties:c.POINTER[CFMutableDictionaryRef], allocator:CFAllocatorRef, options:IOOptionBits) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFTypeRef, io_registry_entry_t, CFStringRef, CFAllocatorRef, IOOptionBits)
|
||||
def IORegistryEntryCreateCFProperty(entry:io_registry_entry_t, key:CFStringRef, allocator:CFAllocatorRef, options:IOOptionBits) -> CFTypeRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFTypeRef, io_registry_entry_t, io_name_t, CFStringRef, CFAllocatorRef, IOOptionBits)
|
||||
def IORegistryEntrySearchCFProperty(entry:io_registry_entry_t, plane:io_name_t, key:CFStringRef, allocator:CFAllocatorRef, options:IOOptionBits) -> CFTypeRef: ...
|
||||
io_struct_inband_t: TypeAlias = c.Array[Annotated[bytes, ctypes.c_char], Literal[4096]]
|
||||
@dll.bind
|
||||
io_struct_inband_t: TypeAlias = c.Array[ctypes.c_char, Literal[4096]]
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, io_struct_inband_t, c.POINTER[uint32_t])
|
||||
def IORegistryEntryGetProperty(entry:io_registry_entry_t, propertyName:io_name_t, buffer:io_struct_inband_t, size:c.POINTER[uint32_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, CFTypeRef)
|
||||
def IORegistryEntrySetCFProperties(entry:io_registry_entry_t, properties:CFTypeRef) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, CFStringRef, CFTypeRef)
|
||||
def IORegistryEntrySetCFProperty(entry:io_registry_entry_t, propertyName:CFStringRef, property:CFTypeRef) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, c.POINTER[io_iterator_t])
|
||||
def IORegistryEntryGetChildIterator(entry:io_registry_entry_t, plane:io_name_t, iterator:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, c.POINTER[io_registry_entry_t])
|
||||
def IORegistryEntryGetChildEntry(entry:io_registry_entry_t, plane:io_name_t, child:c.POINTER[io_registry_entry_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, c.POINTER[io_iterator_t])
|
||||
def IORegistryEntryGetParentIterator(entry:io_registry_entry_t, plane:io_name_t, iterator:c.POINTER[io_iterator_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, io_registry_entry_t, io_name_t, c.POINTER[io_registry_entry_t])
|
||||
def IORegistryEntryGetParentEntry(entry:io_registry_entry_t, plane:io_name_t, parent:c.POINTER[io_registry_entry_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(boolean_t, io_registry_entry_t, io_name_t)
|
||||
def IORegistryEntryInPlane(entry:io_registry_entry_t, plane:io_name_t) -> boolean_t: ...
|
||||
@dll.bind
|
||||
def IOServiceMatching(name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind
|
||||
def IOServiceNameMatching(name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind
|
||||
def IOBSDNameMatching(mainPort:mach_port_t, options:uint32_t, bsdName:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind
|
||||
def IOOpenFirmwarePathMatching(mainPort:mach_port_t, options:uint32_t, path:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(CFMutableDictionaryRef, c.POINTER[ctypes.c_char])
|
||||
def IOServiceMatching(name:c.POINTER[ctypes.c_char]) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind(CFMutableDictionaryRef, c.POINTER[ctypes.c_char])
|
||||
def IOServiceNameMatching(name:c.POINTER[ctypes.c_char]) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind(CFMutableDictionaryRef, mach_port_t, uint32_t, c.POINTER[ctypes.c_char])
|
||||
def IOBSDNameMatching(mainPort:mach_port_t, options:uint32_t, bsdName:c.POINTER[ctypes.c_char]) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind(CFMutableDictionaryRef, mach_port_t, uint32_t, c.POINTER[ctypes.c_char])
|
||||
def IOOpenFirmwarePathMatching(mainPort:mach_port_t, options:uint32_t, path:c.POINTER[ctypes.c_char]) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind(CFMutableDictionaryRef, uint64_t)
|
||||
def IORegistryEntryIDMatching(entryID:uint64_t) -> CFMutableDictionaryRef: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, io_name_t, io_name_t)
|
||||
def IOServiceOFPathToBSDName(mainPort:mach_port_t, openFirmwarePath:io_name_t, bsdName:io_name_t) -> kern_return_t: ...
|
||||
IOAsyncCallback0: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, Annotated[int, ctypes.c_int32]]]
|
||||
IOAsyncCallback1: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, Annotated[int, ctypes.c_int32], ctypes.c_void_p]]
|
||||
IOAsyncCallback2: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, Annotated[int, ctypes.c_int32], ctypes.c_void_p, ctypes.c_void_p]]
|
||||
IOAsyncCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, Annotated[int, ctypes.c_int32], c.POINTER[ctypes.c_void_p], Annotated[int, ctypes.c_uint32]]]
|
||||
vm_size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
IOAsyncCallback0: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_int32]]
|
||||
IOAsyncCallback1: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_int32, ctypes.c_void_p]]
|
||||
IOAsyncCallback2: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_int32, ctypes.c_void_p, ctypes.c_void_p]]
|
||||
IOAsyncCallback: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_void_p, ctypes.c_int32, c.POINTER[ctypes.c_void_p], ctypes.c_uint32]]
|
||||
vm_size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(kern_return_t, c.POINTER[mach_msg_header_t], uint32_t, c.POINTER[uint32_t], c.POINTER[uintptr_t], c.POINTER[ctypes.c_void_p], c.POINTER[vm_size_t])
|
||||
def OSGetNotificationFromMessage(msg:c.POINTER[mach_msg_header_t], index:uint32_t, type:c.POINTER[uint32_t], reference:c.POINTER[uintptr_t], content:c.POINTER[ctypes.c_void_p], size:c.POINTER[vm_size_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
def IOCatalogueSendData(mainPort:mach_port_t, flag:uint32_t, buffer:c.POINTER[Annotated[bytes, ctypes.c_char]], size:uint32_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, c.POINTER[ctypes.c_char], uint32_t)
|
||||
def IOCatalogueSendData(mainPort:mach_port_t, flag:uint32_t, buffer:c.POINTER[ctypes.c_char], size:uint32_t) -> kern_return_t: ...
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, io_name_t)
|
||||
def IOCatalogueTerminate(mainPort:mach_port_t, flag:uint32_t, description:io_name_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
def IOCatalogueGetData(mainPort:mach_port_t, flag:uint32_t, buffer:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]], size:c.POINTER[uint32_t]) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[uint32_t])
|
||||
def IOCatalogueGetData(mainPort:mach_port_t, flag:uint32_t, buffer:c.POINTER[c.POINTER[ctypes.c_char]], size:c.POINTER[uint32_t]) -> kern_return_t: ...
|
||||
@dll.bind(kern_return_t, mach_port_t, io_name_t)
|
||||
def IOCatalogueModuleLoaded(mainPort:mach_port_t, name:io_name_t) -> kern_return_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(kern_return_t, mach_port_t, uint32_t)
|
||||
def IOCatalogueReset(mainPort:mach_port_t, flag:uint32_t) -> kern_return_t: ...
|
||||
c.init_records()
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,514 +1,557 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
class enum_kgsl_user_mem_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
KGSL_USER_MEM_TYPE_PMEM = enum_kgsl_user_mem_type.define('KGSL_USER_MEM_TYPE_PMEM', 0)
|
||||
KGSL_USER_MEM_TYPE_ASHMEM = enum_kgsl_user_mem_type.define('KGSL_USER_MEM_TYPE_ASHMEM', 1)
|
||||
KGSL_USER_MEM_TYPE_ADDR = enum_kgsl_user_mem_type.define('KGSL_USER_MEM_TYPE_ADDR', 2)
|
||||
KGSL_USER_MEM_TYPE_ION = enum_kgsl_user_mem_type.define('KGSL_USER_MEM_TYPE_ION', 3)
|
||||
KGSL_USER_MEM_TYPE_DMABUF = enum_kgsl_user_mem_type.define('KGSL_USER_MEM_TYPE_DMABUF', 3)
|
||||
KGSL_USER_MEM_TYPE_MAX = enum_kgsl_user_mem_type.define('KGSL_USER_MEM_TYPE_MAX', 7)
|
||||
|
||||
class enum_kgsl_ctx_reset_stat(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
KGSL_CTX_STAT_NO_ERROR = enum_kgsl_ctx_reset_stat.define('KGSL_CTX_STAT_NO_ERROR', 0)
|
||||
KGSL_CTX_STAT_GUILTY_CONTEXT_RESET_EXT = enum_kgsl_ctx_reset_stat.define('KGSL_CTX_STAT_GUILTY_CONTEXT_RESET_EXT', 1)
|
||||
KGSL_CTX_STAT_INNOCENT_CONTEXT_RESET_EXT = enum_kgsl_ctx_reset_stat.define('KGSL_CTX_STAT_INNOCENT_CONTEXT_RESET_EXT', 2)
|
||||
KGSL_CTX_STAT_UNKNOWN_CONTEXT_RESET_EXT = enum_kgsl_ctx_reset_stat.define('KGSL_CTX_STAT_UNKNOWN_CONTEXT_RESET_EXT', 3)
|
||||
|
||||
class enum_kgsl_deviceid(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
KGSL_DEVICE_3D0 = enum_kgsl_deviceid.define('KGSL_DEVICE_3D0', 0)
|
||||
KGSL_DEVICE_MAX = enum_kgsl_deviceid.define('KGSL_DEVICE_MAX', 1)
|
||||
|
||||
enum_kgsl_user_mem_type: dict[int, str] = {(KGSL_USER_MEM_TYPE_PMEM:=0): 'KGSL_USER_MEM_TYPE_PMEM', (KGSL_USER_MEM_TYPE_ASHMEM:=1): 'KGSL_USER_MEM_TYPE_ASHMEM', (KGSL_USER_MEM_TYPE_ADDR:=2): 'KGSL_USER_MEM_TYPE_ADDR', (KGSL_USER_MEM_TYPE_ION:=3): 'KGSL_USER_MEM_TYPE_ION', (KGSL_USER_MEM_TYPE_DMABUF:=3): 'KGSL_USER_MEM_TYPE_DMABUF', (KGSL_USER_MEM_TYPE_MAX:=7): 'KGSL_USER_MEM_TYPE_MAX'}
|
||||
enum_kgsl_ctx_reset_stat: dict[int, str] = {(KGSL_CTX_STAT_NO_ERROR:=0): 'KGSL_CTX_STAT_NO_ERROR', (KGSL_CTX_STAT_GUILTY_CONTEXT_RESET_EXT:=1): 'KGSL_CTX_STAT_GUILTY_CONTEXT_RESET_EXT', (KGSL_CTX_STAT_INNOCENT_CONTEXT_RESET_EXT:=2): 'KGSL_CTX_STAT_INNOCENT_CONTEXT_RESET_EXT', (KGSL_CTX_STAT_UNKNOWN_CONTEXT_RESET_EXT:=3): 'KGSL_CTX_STAT_UNKNOWN_CONTEXT_RESET_EXT'}
|
||||
enum_kgsl_deviceid: dict[int, str] = {(KGSL_DEVICE_3D0:=0): 'KGSL_DEVICE_3D0', (KGSL_DEVICE_MAX:=1): 'KGSL_DEVICE_MAX'}
|
||||
@c.record
|
||||
class struct_kgsl_devinfo(c.Struct):
|
||||
SIZE = 40
|
||||
device_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
chip_id: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
mmu_enabled: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
gmem_gpubaseaddr: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
gpu_id: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
gmem_sizebytes: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
device_id: int
|
||||
chip_id: int
|
||||
mmu_enabled: int
|
||||
gmem_gpubaseaddr: int
|
||||
gpu_id: int
|
||||
gmem_sizebytes: int
|
||||
struct_kgsl_devinfo.register_fields([('device_id', ctypes.c_uint32, 0), ('chip_id', ctypes.c_uint32, 4), ('mmu_enabled', ctypes.c_uint32, 8), ('gmem_gpubaseaddr', ctypes.c_uint64, 16), ('gpu_id', ctypes.c_uint32, 24), ('gmem_sizebytes', ctypes.c_uint64, 32)])
|
||||
@c.record
|
||||
class struct_kgsl_devmemstore(c.Struct):
|
||||
SIZE = 40
|
||||
soptimestamp: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
sbz: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
eoptimestamp: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
sbz2: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
preempted: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
sbz3: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
ref_wait_ts: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
sbz4: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
current_context: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
||||
sbz5: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
||||
class enum_kgsl_timestamp_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
KGSL_TIMESTAMP_CONSUMED = enum_kgsl_timestamp_type.define('KGSL_TIMESTAMP_CONSUMED', 1)
|
||||
KGSL_TIMESTAMP_RETIRED = enum_kgsl_timestamp_type.define('KGSL_TIMESTAMP_RETIRED', 2)
|
||||
KGSL_TIMESTAMP_QUEUED = enum_kgsl_timestamp_type.define('KGSL_TIMESTAMP_QUEUED', 3)
|
||||
|
||||
soptimestamp: int
|
||||
sbz: int
|
||||
eoptimestamp: int
|
||||
sbz2: int
|
||||
preempted: int
|
||||
sbz3: int
|
||||
ref_wait_ts: int
|
||||
sbz4: int
|
||||
current_context: int
|
||||
sbz5: int
|
||||
struct_kgsl_devmemstore.register_fields([('soptimestamp', ctypes.c_uint32, 0), ('sbz', ctypes.c_uint32, 4), ('eoptimestamp', ctypes.c_uint32, 8), ('sbz2', ctypes.c_uint32, 12), ('preempted', ctypes.c_uint32, 16), ('sbz3', ctypes.c_uint32, 20), ('ref_wait_ts', ctypes.c_uint32, 24), ('sbz4', ctypes.c_uint32, 28), ('current_context', ctypes.c_uint32, 32), ('sbz5', ctypes.c_uint32, 36)])
|
||||
enum_kgsl_timestamp_type: dict[int, str] = {(KGSL_TIMESTAMP_CONSUMED:=1): 'KGSL_TIMESTAMP_CONSUMED', (KGSL_TIMESTAMP_RETIRED:=2): 'KGSL_TIMESTAMP_RETIRED', (KGSL_TIMESTAMP_QUEUED:=3): 'KGSL_TIMESTAMP_QUEUED'}
|
||||
@c.record
|
||||
class struct_kgsl_shadowprop(c.Struct):
|
||||
SIZE = 24
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
gpuaddr: int
|
||||
size: int
|
||||
flags: int
|
||||
struct_kgsl_shadowprop.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('size', ctypes.c_uint64, 8), ('flags', ctypes.c_uint32, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_version(c.Struct):
|
||||
SIZE = 16
|
||||
drv_major: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
drv_minor: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
dev_major: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
dev_minor: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
drv_major: int
|
||||
drv_minor: int
|
||||
dev_major: int
|
||||
dev_minor: int
|
||||
struct_kgsl_version.register_fields([('drv_major', ctypes.c_uint32, 0), ('drv_minor', ctypes.c_uint32, 4), ('dev_major', ctypes.c_uint32, 8), ('dev_minor', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_kgsl_sp_generic_mem(c.Struct):
|
||||
SIZE = 16
|
||||
local: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
pvt: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
local: int
|
||||
pvt: int
|
||||
struct_kgsl_sp_generic_mem.register_fields([('local', ctypes.c_uint64, 0), ('pvt', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_kgsl_ucode_version(c.Struct):
|
||||
SIZE = 8
|
||||
pfp: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
pm4: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
pfp: int
|
||||
pm4: int
|
||||
struct_kgsl_ucode_version.register_fields([('pfp', ctypes.c_uint32, 0), ('pm4', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_kgsl_gpmu_version(c.Struct):
|
||||
SIZE = 12
|
||||
major: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
minor: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
features: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
major: int
|
||||
minor: int
|
||||
features: int
|
||||
struct_kgsl_gpmu_version.register_fields([('major', ctypes.c_uint32, 0), ('minor', ctypes.c_uint32, 4), ('features', ctypes.c_uint32, 8)])
|
||||
@c.record
|
||||
class struct_kgsl_ibdesc(c.Struct):
|
||||
SIZE = 32
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
__pad: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
sizedwords: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
ctrl: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
gpuaddr: int
|
||||
__pad: int
|
||||
sizedwords: int
|
||||
ctrl: int
|
||||
struct_kgsl_ibdesc.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('__pad', ctypes.c_uint64, 8), ('sizedwords', ctypes.c_uint64, 16), ('ctrl', ctypes.c_uint32, 24)])
|
||||
@c.record
|
||||
class struct_kgsl_cmdbatch_profiling_buffer(c.Struct):
|
||||
SIZE = 40
|
||||
wall_clock_s: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
wall_clock_ns: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
gpu_ticks_queued: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
gpu_ticks_submitted: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
gpu_ticks_retired: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
wall_clock_s: int
|
||||
wall_clock_ns: int
|
||||
gpu_ticks_queued: int
|
||||
gpu_ticks_submitted: int
|
||||
gpu_ticks_retired: int
|
||||
struct_kgsl_cmdbatch_profiling_buffer.register_fields([('wall_clock_s', ctypes.c_uint64, 0), ('wall_clock_ns', ctypes.c_uint64, 8), ('gpu_ticks_queued', ctypes.c_uint64, 16), ('gpu_ticks_submitted', ctypes.c_uint64, 24), ('gpu_ticks_retired', ctypes.c_uint64, 32)])
|
||||
@c.record
|
||||
class struct_kgsl_device_getproperty(c.Struct):
|
||||
SIZE = 24
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
value: Annotated[ctypes.c_void_p, 8]
|
||||
sizebytes: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
type: int
|
||||
value: ctypes.c_void_p
|
||||
sizebytes: int
|
||||
struct_kgsl_device_getproperty.register_fields([('type', ctypes.c_uint32, 0), ('value', ctypes.c_void_p, 8), ('sizebytes', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_device_waittimestamp(c.Struct):
|
||||
SIZE = 8
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
timeout: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
timestamp: int
|
||||
timeout: int
|
||||
struct_kgsl_device_waittimestamp.register_fields([('timestamp', ctypes.c_uint32, 0), ('timeout', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_kgsl_device_waittimestamp_ctxtid(c.Struct):
|
||||
SIZE = 12
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
timeout: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
context_id: int
|
||||
timestamp: int
|
||||
timeout: int
|
||||
struct_kgsl_device_waittimestamp_ctxtid.register_fields([('context_id', ctypes.c_uint32, 0), ('timestamp', ctypes.c_uint32, 4), ('timeout', ctypes.c_uint32, 8)])
|
||||
@c.record
|
||||
class struct_kgsl_ringbuffer_issueibcmds(c.Struct):
|
||||
SIZE = 32
|
||||
drawctxt_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
ibdesc_addr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
numibs: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
drawctxt_id: int
|
||||
ibdesc_addr: int
|
||||
numibs: int
|
||||
timestamp: int
|
||||
flags: int
|
||||
struct_kgsl_ringbuffer_issueibcmds.register_fields([('drawctxt_id', ctypes.c_uint32, 0), ('ibdesc_addr', ctypes.c_uint64, 8), ('numibs', ctypes.c_uint32, 16), ('timestamp', ctypes.c_uint32, 20), ('flags', ctypes.c_uint32, 24)])
|
||||
@c.record
|
||||
class struct_kgsl_cmdstream_readtimestamp(c.Struct):
|
||||
SIZE = 8
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
type: int
|
||||
timestamp: int
|
||||
struct_kgsl_cmdstream_readtimestamp.register_fields([('type', ctypes.c_uint32, 0), ('timestamp', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_kgsl_cmdstream_freememontimestamp(c.Struct):
|
||||
SIZE = 16
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
gpuaddr: int
|
||||
type: int
|
||||
timestamp: int
|
||||
struct_kgsl_cmdstream_freememontimestamp.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('type', ctypes.c_uint32, 8), ('timestamp', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_kgsl_drawctxt_create(c.Struct):
|
||||
SIZE = 8
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
drawctxt_id: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
flags: int
|
||||
drawctxt_id: int
|
||||
struct_kgsl_drawctxt_create.register_fields([('flags', ctypes.c_uint32, 0), ('drawctxt_id', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_kgsl_drawctxt_destroy(c.Struct):
|
||||
SIZE = 4
|
||||
drawctxt_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
drawctxt_id: int
|
||||
struct_kgsl_drawctxt_destroy.register_fields([('drawctxt_id', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_map_user_mem(c.Struct):
|
||||
SIZE = 48
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
hostptr: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
memtype: Annotated[enum_kgsl_user_mem_type, 40]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
||||
fd: int
|
||||
gpuaddr: int
|
||||
len: int
|
||||
offset: int
|
||||
hostptr: int
|
||||
memtype: int
|
||||
flags: int
|
||||
struct_kgsl_map_user_mem.register_fields([('fd', ctypes.c_int32, 0), ('gpuaddr', ctypes.c_uint64, 8), ('len', ctypes.c_uint64, 16), ('offset', ctypes.c_uint64, 24), ('hostptr', ctypes.c_uint64, 32), ('memtype', ctypes.c_uint32, 40), ('flags', ctypes.c_uint32, 44)])
|
||||
@c.record
|
||||
class struct_kgsl_cmdstream_readtimestamp_ctxtid(c.Struct):
|
||||
SIZE = 12
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
context_id: int
|
||||
type: int
|
||||
timestamp: int
|
||||
struct_kgsl_cmdstream_readtimestamp_ctxtid.register_fields([('context_id', ctypes.c_uint32, 0), ('type', ctypes.c_uint32, 4), ('timestamp', ctypes.c_uint32, 8)])
|
||||
@c.record
|
||||
class struct_kgsl_cmdstream_freememontimestamp_ctxtid(c.Struct):
|
||||
SIZE = 24
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
context_id: int
|
||||
gpuaddr: int
|
||||
type: int
|
||||
timestamp: int
|
||||
struct_kgsl_cmdstream_freememontimestamp_ctxtid.register_fields([('context_id', ctypes.c_uint32, 0), ('gpuaddr', ctypes.c_uint64, 8), ('type', ctypes.c_uint32, 16), ('timestamp', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_kgsl_sharedmem_from_pmem(c.Struct):
|
||||
SIZE = 24
|
||||
pmem_fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
pmem_fd: int
|
||||
gpuaddr: int
|
||||
len: int
|
||||
offset: int
|
||||
struct_kgsl_sharedmem_from_pmem.register_fields([('pmem_fd', ctypes.c_int32, 0), ('gpuaddr', ctypes.c_uint64, 8), ('len', ctypes.c_uint32, 16), ('offset', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_kgsl_sharedmem_free(c.Struct):
|
||||
SIZE = 8
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
gpuaddr: int
|
||||
struct_kgsl_sharedmem_free.register_fields([('gpuaddr', ctypes.c_uint64, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_cff_user_event(c.Struct):
|
||||
SIZE = 32
|
||||
cff_opcode: Annotated[Annotated[int, ctypes.c_ubyte], 0]
|
||||
op1: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
op2: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
op3: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
op4: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
op5: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 24]
|
||||
cff_opcode: int
|
||||
op1: int
|
||||
op2: int
|
||||
op3: int
|
||||
op4: int
|
||||
op5: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[2]]
|
||||
struct_kgsl_cff_user_event.register_fields([('cff_opcode', ctypes.c_ubyte, 0), ('op1', ctypes.c_uint32, 4), ('op2', ctypes.c_uint32, 8), ('op3', ctypes.c_uint32, 12), ('op4', ctypes.c_uint32, 16), ('op5', ctypes.c_uint32, 20), ('__pad', c.Array[ctypes.c_uint32, Literal[2]], 24)])
|
||||
@c.record
|
||||
class struct_kgsl_gmem_desc(c.Struct):
|
||||
SIZE = 20
|
||||
x: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
y: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
width: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
height: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
pitch: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
x: int
|
||||
y: int
|
||||
width: int
|
||||
height: int
|
||||
pitch: int
|
||||
struct_kgsl_gmem_desc.register_fields([('x', ctypes.c_uint32, 0), ('y', ctypes.c_uint32, 4), ('width', ctypes.c_uint32, 8), ('height', ctypes.c_uint32, 12), ('pitch', ctypes.c_uint32, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_buffer_desc(c.Struct):
|
||||
SIZE = 32
|
||||
hostptr: Annotated[ctypes.c_void_p, 0]
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
size: Annotated[Annotated[int, ctypes.c_int32], 16]
|
||||
format: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
pitch: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
enabled: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
hostptr: ctypes.c_void_p
|
||||
gpuaddr: int
|
||||
size: int
|
||||
format: int
|
||||
pitch: int
|
||||
enabled: int
|
||||
struct_kgsl_buffer_desc.register_fields([('hostptr', ctypes.c_void_p, 0), ('gpuaddr', ctypes.c_uint64, 8), ('size', ctypes.c_int32, 16), ('format', ctypes.c_uint32, 20), ('pitch', ctypes.c_uint32, 24), ('enabled', ctypes.c_uint32, 28)])
|
||||
@c.record
|
||||
class struct_kgsl_bind_gmem_shadow(c.Struct):
|
||||
SIZE = 72
|
||||
drawctxt_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
gmem_desc: Annotated[struct_kgsl_gmem_desc, 4]
|
||||
shadow_x: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
shadow_y: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
shadow_buffer: Annotated[struct_kgsl_buffer_desc, 32]
|
||||
buffer_id: Annotated[Annotated[int, ctypes.c_uint32], 64]
|
||||
drawctxt_id: int
|
||||
gmem_desc: struct_kgsl_gmem_desc
|
||||
shadow_x: int
|
||||
shadow_y: int
|
||||
shadow_buffer: struct_kgsl_buffer_desc
|
||||
buffer_id: int
|
||||
struct_kgsl_bind_gmem_shadow.register_fields([('drawctxt_id', ctypes.c_uint32, 0), ('gmem_desc', struct_kgsl_gmem_desc, 4), ('shadow_x', ctypes.c_uint32, 24), ('shadow_y', ctypes.c_uint32, 28), ('shadow_buffer', struct_kgsl_buffer_desc, 32), ('buffer_id', ctypes.c_uint32, 64)])
|
||||
@c.record
|
||||
class struct_kgsl_sharedmem_from_vmalloc(c.Struct):
|
||||
SIZE = 16
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
hostptr: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
gpuaddr: int
|
||||
hostptr: int
|
||||
flags: int
|
||||
struct_kgsl_sharedmem_from_vmalloc.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('hostptr', ctypes.c_uint32, 8), ('flags', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_kgsl_drawctxt_set_bin_base_offset(c.Struct):
|
||||
SIZE = 8
|
||||
drawctxt_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
class enum_kgsl_cmdwindow_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
KGSL_CMDWINDOW_MIN = enum_kgsl_cmdwindow_type.define('KGSL_CMDWINDOW_MIN', 0)
|
||||
KGSL_CMDWINDOW_2D = enum_kgsl_cmdwindow_type.define('KGSL_CMDWINDOW_2D', 0)
|
||||
KGSL_CMDWINDOW_3D = enum_kgsl_cmdwindow_type.define('KGSL_CMDWINDOW_3D', 1)
|
||||
KGSL_CMDWINDOW_MMU = enum_kgsl_cmdwindow_type.define('KGSL_CMDWINDOW_MMU', 2)
|
||||
KGSL_CMDWINDOW_ARBITER = enum_kgsl_cmdwindow_type.define('KGSL_CMDWINDOW_ARBITER', 255)
|
||||
KGSL_CMDWINDOW_MAX = enum_kgsl_cmdwindow_type.define('KGSL_CMDWINDOW_MAX', 255)
|
||||
|
||||
drawctxt_id: int
|
||||
offset: int
|
||||
struct_kgsl_drawctxt_set_bin_base_offset.register_fields([('drawctxt_id', ctypes.c_uint32, 0), ('offset', ctypes.c_uint32, 4)])
|
||||
enum_kgsl_cmdwindow_type: dict[int, str] = {(KGSL_CMDWINDOW_MIN:=0): 'KGSL_CMDWINDOW_MIN', (KGSL_CMDWINDOW_2D:=0): 'KGSL_CMDWINDOW_2D', (KGSL_CMDWINDOW_3D:=1): 'KGSL_CMDWINDOW_3D', (KGSL_CMDWINDOW_MMU:=2): 'KGSL_CMDWINDOW_MMU', (KGSL_CMDWINDOW_ARBITER:=255): 'KGSL_CMDWINDOW_ARBITER', (KGSL_CMDWINDOW_MAX:=255): 'KGSL_CMDWINDOW_MAX'}
|
||||
@c.record
|
||||
class struct_kgsl_cmdwindow_write(c.Struct):
|
||||
SIZE = 12
|
||||
target: Annotated[enum_kgsl_cmdwindow_type, 0]
|
||||
addr: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
data: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
target: int
|
||||
addr: int
|
||||
data: int
|
||||
struct_kgsl_cmdwindow_write.register_fields([('target', ctypes.c_uint32, 0), ('addr', ctypes.c_uint32, 4), ('data', ctypes.c_uint32, 8)])
|
||||
@c.record
|
||||
class struct_kgsl_gpumem_alloc(c.Struct):
|
||||
SIZE = 24
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
gpuaddr: int
|
||||
size: int
|
||||
flags: int
|
||||
struct_kgsl_gpumem_alloc.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('size', ctypes.c_uint64, 8), ('flags', ctypes.c_uint32, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_cff_syncmem(c.Struct):
|
||||
SIZE = 24
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 16]
|
||||
gpuaddr: int
|
||||
len: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[2]]
|
||||
struct_kgsl_cff_syncmem.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('len', ctypes.c_uint64, 8), ('__pad', c.Array[ctypes.c_uint32, Literal[2]], 16)])
|
||||
@c.record
|
||||
class struct_kgsl_timestamp_event(c.Struct):
|
||||
SIZE = 32
|
||||
type: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
priv: Annotated[ctypes.c_void_p, 16]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
type: int
|
||||
timestamp: int
|
||||
context_id: int
|
||||
priv: ctypes.c_void_p
|
||||
len: int
|
||||
struct_kgsl_timestamp_event.register_fields([('type', ctypes.c_int32, 0), ('timestamp', ctypes.c_uint32, 4), ('context_id', ctypes.c_uint32, 8), ('priv', ctypes.c_void_p, 16), ('len', ctypes.c_uint64, 24)])
|
||||
@c.record
|
||||
class struct_kgsl_timestamp_event_genlock(c.Struct):
|
||||
SIZE = 4
|
||||
handle: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
handle: int
|
||||
struct_kgsl_timestamp_event_genlock.register_fields([('handle', ctypes.c_int32, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_timestamp_event_fence(c.Struct):
|
||||
SIZE = 4
|
||||
fence_fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
fence_fd: int
|
||||
struct_kgsl_timestamp_event_fence.register_fields([('fence_fd', ctypes.c_int32, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_gpumem_alloc_id(c.Struct):
|
||||
SIZE = 48
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
mmapsize: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[2]], 32]
|
||||
id: int
|
||||
flags: int
|
||||
size: int
|
||||
mmapsize: int
|
||||
gpuaddr: int
|
||||
__pad: c.Array[ctypes.c_uint64, Literal[2]]
|
||||
struct_kgsl_gpumem_alloc_id.register_fields([('id', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('size', ctypes.c_uint64, 8), ('mmapsize', ctypes.c_uint64, 16), ('gpuaddr', ctypes.c_uint64, 24), ('__pad', c.Array[ctypes.c_uint64, Literal[2]], 32)])
|
||||
@c.record
|
||||
class struct_kgsl_gpumem_free_id(c.Struct):
|
||||
SIZE = 8
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
__pad: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
id: int
|
||||
__pad: int
|
||||
struct_kgsl_gpumem_free_id.register_fields([('id', ctypes.c_uint32, 0), ('__pad', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_kgsl_gpumem_get_info(c.Struct):
|
||||
SIZE = 72
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
mmapsize: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
useraddr: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[4]], 40]
|
||||
gpuaddr: int
|
||||
id: int
|
||||
flags: int
|
||||
size: int
|
||||
mmapsize: int
|
||||
useraddr: int
|
||||
__pad: c.Array[ctypes.c_uint64, Literal[4]]
|
||||
struct_kgsl_gpumem_get_info.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('id', ctypes.c_uint32, 8), ('flags', ctypes.c_uint32, 12), ('size', ctypes.c_uint64, 16), ('mmapsize', ctypes.c_uint64, 24), ('useraddr', ctypes.c_uint64, 32), ('__pad', c.Array[ctypes.c_uint64, Literal[4]], 40)])
|
||||
@c.record
|
||||
class struct_kgsl_gpumem_sync_cache(c.Struct):
|
||||
SIZE = 32
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
length: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
gpuaddr: int
|
||||
id: int
|
||||
op: int
|
||||
offset: int
|
||||
length: int
|
||||
struct_kgsl_gpumem_sync_cache.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('id', ctypes.c_uint32, 8), ('op', ctypes.c_uint32, 12), ('offset', ctypes.c_uint64, 16), ('length', ctypes.c_uint64, 24)])
|
||||
@c.record
|
||||
class struct_kgsl_perfcounter_get(c.Struct):
|
||||
SIZE = 20
|
||||
groupid: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
countable: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
offset_hi: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
__pad: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
groupid: int
|
||||
countable: int
|
||||
offset: int
|
||||
offset_hi: int
|
||||
__pad: int
|
||||
struct_kgsl_perfcounter_get.register_fields([('groupid', ctypes.c_uint32, 0), ('countable', ctypes.c_uint32, 4), ('offset', ctypes.c_uint32, 8), ('offset_hi', ctypes.c_uint32, 12), ('__pad', ctypes.c_uint32, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_perfcounter_put(c.Struct):
|
||||
SIZE = 16
|
||||
groupid: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
countable: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 8]
|
||||
groupid: int
|
||||
countable: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[2]]
|
||||
struct_kgsl_perfcounter_put.register_fields([('groupid', ctypes.c_uint32, 0), ('countable', ctypes.c_uint32, 4), ('__pad', c.Array[ctypes.c_uint32, Literal[2]], 8)])
|
||||
@c.record
|
||||
class struct_kgsl_perfcounter_query(c.Struct):
|
||||
SIZE = 32
|
||||
groupid: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
countables: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 8]
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
max_counters: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 24]
|
||||
groupid: int
|
||||
countables: c.POINTER[ctypes.c_uint32]
|
||||
count: int
|
||||
max_counters: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[2]]
|
||||
struct_kgsl_perfcounter_query.register_fields([('groupid', ctypes.c_uint32, 0), ('countables', c.POINTER[ctypes.c_uint32], 8), ('count', ctypes.c_uint32, 16), ('max_counters', ctypes.c_uint32, 20), ('__pad', c.Array[ctypes.c_uint32, Literal[2]], 24)])
|
||||
@c.record
|
||||
class struct_kgsl_perfcounter_read_group(c.Struct):
|
||||
SIZE = 16
|
||||
groupid: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
countable: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
value: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
groupid: int
|
||||
countable: int
|
||||
value: int
|
||||
struct_kgsl_perfcounter_read_group.register_fields([('groupid', ctypes.c_uint32, 0), ('countable', ctypes.c_uint32, 4), ('value', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_kgsl_perfcounter_read(c.Struct):
|
||||
SIZE = 24
|
||||
reads: Annotated[c.POINTER[struct_kgsl_perfcounter_read_group], 0]
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 12]
|
||||
reads: c.POINTER[struct_kgsl_perfcounter_read_group]
|
||||
count: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[2]]
|
||||
struct_kgsl_perfcounter_read.register_fields([('reads', c.POINTER[struct_kgsl_perfcounter_read_group], 0), ('count', ctypes.c_uint32, 8), ('__pad', c.Array[ctypes.c_uint32, Literal[2]], 12)])
|
||||
@c.record
|
||||
class struct_kgsl_gpumem_sync_cache_bulk(c.Struct):
|
||||
SIZE = 24
|
||||
id_list: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 0]
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 16]
|
||||
id_list: c.POINTER[ctypes.c_uint32]
|
||||
count: int
|
||||
op: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[2]]
|
||||
struct_kgsl_gpumem_sync_cache_bulk.register_fields([('id_list', c.POINTER[ctypes.c_uint32], 0), ('count', ctypes.c_uint32, 8), ('op', ctypes.c_uint32, 12), ('__pad', c.Array[ctypes.c_uint32, Literal[2]], 16)])
|
||||
@c.record
|
||||
class struct_kgsl_cmd_syncpoint_timestamp(c.Struct):
|
||||
SIZE = 8
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
context_id: int
|
||||
timestamp: int
|
||||
struct_kgsl_cmd_syncpoint_timestamp.register_fields([('context_id', ctypes.c_uint32, 0), ('timestamp', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_kgsl_cmd_syncpoint_fence(c.Struct):
|
||||
SIZE = 4
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
fd: int
|
||||
struct_kgsl_cmd_syncpoint_fence.register_fields([('fd', ctypes.c_int32, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_cmd_syncpoint(c.Struct):
|
||||
SIZE = 24
|
||||
type: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
priv: Annotated[ctypes.c_void_p, 8]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
type: int
|
||||
priv: ctypes.c_void_p
|
||||
size: int
|
||||
struct_kgsl_cmd_syncpoint.register_fields([('type', ctypes.c_int32, 0), ('priv', ctypes.c_void_p, 8), ('size', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_submit_commands(c.Struct):
|
||||
SIZE = 56
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
cmdlist: Annotated[c.POINTER[struct_kgsl_ibdesc], 8]
|
||||
numcmds: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
synclist: Annotated[c.POINTER[struct_kgsl_cmd_syncpoint], 24]
|
||||
numsyncs: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[4]], 40]
|
||||
context_id: int
|
||||
flags: int
|
||||
cmdlist: c.POINTER[struct_kgsl_ibdesc]
|
||||
numcmds: int
|
||||
synclist: c.POINTER[struct_kgsl_cmd_syncpoint]
|
||||
numsyncs: int
|
||||
timestamp: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
struct_kgsl_submit_commands.register_fields([('context_id', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('cmdlist', c.POINTER[struct_kgsl_ibdesc], 8), ('numcmds', ctypes.c_uint32, 16), ('synclist', c.POINTER[struct_kgsl_cmd_syncpoint], 24), ('numsyncs', ctypes.c_uint32, 32), ('timestamp', ctypes.c_uint32, 36), ('__pad', c.Array[ctypes.c_uint32, Literal[4]], 40)])
|
||||
@c.record
|
||||
class struct_kgsl_device_constraint(c.Struct):
|
||||
SIZE = 24
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
data: Annotated[ctypes.c_void_p, 8]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
type: int
|
||||
context_id: int
|
||||
data: ctypes.c_void_p
|
||||
size: int
|
||||
struct_kgsl_device_constraint.register_fields([('type', ctypes.c_uint32, 0), ('context_id', ctypes.c_uint32, 4), ('data', ctypes.c_void_p, 8), ('size', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_device_constraint_pwrlevel(c.Struct):
|
||||
SIZE = 4
|
||||
level: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
level: int
|
||||
struct_kgsl_device_constraint_pwrlevel.register_fields([('level', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_syncsource_create(c.Struct):
|
||||
SIZE = 16
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[3]], 4]
|
||||
id: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
struct_kgsl_syncsource_create.register_fields([('id', ctypes.c_uint32, 0), ('__pad', c.Array[ctypes.c_uint32, Literal[3]], 4)])
|
||||
@c.record
|
||||
class struct_kgsl_syncsource_destroy(c.Struct):
|
||||
SIZE = 16
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[3]], 4]
|
||||
id: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
struct_kgsl_syncsource_destroy.register_fields([('id', ctypes.c_uint32, 0), ('__pad', c.Array[ctypes.c_uint32, Literal[3]], 4)])
|
||||
@c.record
|
||||
class struct_kgsl_syncsource_create_fence(c.Struct):
|
||||
SIZE = 24
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
fence_fd: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[4]], 8]
|
||||
id: int
|
||||
fence_fd: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
struct_kgsl_syncsource_create_fence.register_fields([('id', ctypes.c_uint32, 0), ('fence_fd', ctypes.c_int32, 4), ('__pad', c.Array[ctypes.c_uint32, Literal[4]], 8)])
|
||||
@c.record
|
||||
class struct_kgsl_syncsource_signal_fence(c.Struct):
|
||||
SIZE = 24
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
fence_fd: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
__pad: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[4]], 8]
|
||||
id: int
|
||||
fence_fd: int
|
||||
__pad: c.Array[ctypes.c_uint32, Literal[4]]
|
||||
struct_kgsl_syncsource_signal_fence.register_fields([('id', ctypes.c_uint32, 0), ('fence_fd', ctypes.c_int32, 4), ('__pad', c.Array[ctypes.c_uint32, Literal[4]], 8)])
|
||||
@c.record
|
||||
class struct_kgsl_cff_sync_gpuobj(c.Struct):
|
||||
SIZE = 24
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
length: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
offset: int
|
||||
length: int
|
||||
id: int
|
||||
struct_kgsl_cff_sync_gpuobj.register_fields([('offset', ctypes.c_uint64, 0), ('length', ctypes.c_uint64, 8), ('id', ctypes.c_uint32, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_alloc(c.Struct):
|
||||
SIZE = 48
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
va_len: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
mmapsize: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
||||
metadata_len: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
||||
metadata: Annotated[Annotated[int, ctypes.c_uint64], 40]
|
||||
size: int
|
||||
flags: int
|
||||
va_len: int
|
||||
mmapsize: int
|
||||
id: int
|
||||
metadata_len: int
|
||||
metadata: int
|
||||
struct_kgsl_gpuobj_alloc.register_fields([('size', ctypes.c_uint64, 0), ('flags', ctypes.c_uint64, 8), ('va_len', ctypes.c_uint64, 16), ('mmapsize', ctypes.c_uint64, 24), ('id', ctypes.c_uint32, 32), ('metadata_len', ctypes.c_uint32, 36), ('metadata', ctypes.c_uint64, 40)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_free(c.Struct):
|
||||
SIZE = 32
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
priv: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
flags: int
|
||||
priv: int
|
||||
id: int
|
||||
type: int
|
||||
len: int
|
||||
struct_kgsl_gpuobj_free.register_fields([('flags', ctypes.c_uint64, 0), ('priv', ctypes.c_uint64, 8), ('id', ctypes.c_uint32, 16), ('type', ctypes.c_uint32, 20), ('len', ctypes.c_uint32, 24)])
|
||||
@c.record
|
||||
class struct_kgsl_gpu_event_timestamp(c.Struct):
|
||||
SIZE = 8
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
context_id: int
|
||||
timestamp: int
|
||||
struct_kgsl_gpu_event_timestamp.register_fields([('context_id', ctypes.c_uint32, 0), ('timestamp', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_kgsl_gpu_event_fence(c.Struct):
|
||||
SIZE = 4
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
fd: int
|
||||
struct_kgsl_gpu_event_fence.register_fields([('fd', ctypes.c_int32, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_info(c.Struct):
|
||||
SIZE = 48
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
va_len: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
va_addr: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 40]
|
||||
gpuaddr: int
|
||||
flags: int
|
||||
size: int
|
||||
va_len: int
|
||||
va_addr: int
|
||||
id: int
|
||||
struct_kgsl_gpuobj_info.register_fields([('gpuaddr', ctypes.c_uint64, 0), ('flags', ctypes.c_uint64, 8), ('size', ctypes.c_uint64, 16), ('va_len', ctypes.c_uint64, 24), ('va_addr', ctypes.c_uint64, 32), ('id', ctypes.c_uint32, 40)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_import(c.Struct):
|
||||
SIZE = 32
|
||||
priv: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
priv_len: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
priv: int
|
||||
priv_len: int
|
||||
flags: int
|
||||
type: int
|
||||
id: int
|
||||
struct_kgsl_gpuobj_import.register_fields([('priv', ctypes.c_uint64, 0), ('priv_len', ctypes.c_uint64, 8), ('flags', ctypes.c_uint64, 16), ('type', ctypes.c_uint32, 24), ('id', ctypes.c_uint32, 28)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_import_dma_buf(c.Struct):
|
||||
SIZE = 4
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
fd: int
|
||||
struct_kgsl_gpuobj_import_dma_buf.register_fields([('fd', ctypes.c_int32, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_import_useraddr(c.Struct):
|
||||
SIZE = 8
|
||||
virtaddr: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
virtaddr: int
|
||||
struct_kgsl_gpuobj_import_useraddr.register_fields([('virtaddr', ctypes.c_uint64, 0)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_sync_obj(c.Struct):
|
||||
SIZE = 24
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
length: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
offset: int
|
||||
length: int
|
||||
id: int
|
||||
op: int
|
||||
struct_kgsl_gpuobj_sync_obj.register_fields([('offset', ctypes.c_uint64, 0), ('length', ctypes.c_uint64, 8), ('id', ctypes.c_uint32, 16), ('op', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_sync(c.Struct):
|
||||
SIZE = 16
|
||||
objs: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
obj_len: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
objs: int
|
||||
obj_len: int
|
||||
count: int
|
||||
struct_kgsl_gpuobj_sync.register_fields([('objs', ctypes.c_uint64, 0), ('obj_len', ctypes.c_uint32, 8), ('count', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_kgsl_command_object(c.Struct):
|
||||
SIZE = 32
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
gpuaddr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
offset: int
|
||||
gpuaddr: int
|
||||
size: int
|
||||
flags: int
|
||||
id: int
|
||||
struct_kgsl_command_object.register_fields([('offset', ctypes.c_uint64, 0), ('gpuaddr', ctypes.c_uint64, 8), ('size', ctypes.c_uint64, 16), ('flags', ctypes.c_uint32, 24), ('id', ctypes.c_uint32, 28)])
|
||||
@c.record
|
||||
class struct_kgsl_command_syncpoint(c.Struct):
|
||||
SIZE = 24
|
||||
priv: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
priv: int
|
||||
size: int
|
||||
type: int
|
||||
struct_kgsl_command_syncpoint.register_fields([('priv', ctypes.c_uint64, 0), ('size', ctypes.c_uint64, 8), ('type', ctypes.c_uint32, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_gpu_command(c.Struct):
|
||||
SIZE = 64
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
cmdlist: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
cmdsize: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
numcmds: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
objlist: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
objsize: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
||||
numobjs: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
||||
synclist: Annotated[Annotated[int, ctypes.c_uint64], 40]
|
||||
syncsize: Annotated[Annotated[int, ctypes.c_uint32], 48]
|
||||
numsyncs: Annotated[Annotated[int, ctypes.c_uint32], 52]
|
||||
context_id: Annotated[Annotated[int, ctypes.c_uint32], 56]
|
||||
timestamp: Annotated[Annotated[int, ctypes.c_uint32], 60]
|
||||
flags: int
|
||||
cmdlist: int
|
||||
cmdsize: int
|
||||
numcmds: int
|
||||
objlist: int
|
||||
objsize: int
|
||||
numobjs: int
|
||||
synclist: int
|
||||
syncsize: int
|
||||
numsyncs: int
|
||||
context_id: int
|
||||
timestamp: int
|
||||
struct_kgsl_gpu_command.register_fields([('flags', ctypes.c_uint64, 0), ('cmdlist', ctypes.c_uint64, 8), ('cmdsize', ctypes.c_uint32, 16), ('numcmds', ctypes.c_uint32, 20), ('objlist', ctypes.c_uint64, 24), ('objsize', ctypes.c_uint32, 32), ('numobjs', ctypes.c_uint32, 36), ('synclist', ctypes.c_uint64, 40), ('syncsize', ctypes.c_uint32, 48), ('numsyncs', ctypes.c_uint32, 52), ('context_id', ctypes.c_uint32, 56), ('timestamp', ctypes.c_uint32, 60)])
|
||||
@c.record
|
||||
class struct_kgsl_preemption_counters_query(c.Struct):
|
||||
SIZE = 24
|
||||
counters: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
size_user: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
size_priority_level: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
max_priority_level: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
counters: int
|
||||
size_user: int
|
||||
size_priority_level: int
|
||||
max_priority_level: int
|
||||
struct_kgsl_preemption_counters_query.register_fields([('counters', ctypes.c_uint64, 0), ('size_user', ctypes.c_uint32, 8), ('size_priority_level', ctypes.c_uint32, 12), ('max_priority_level', ctypes.c_uint32, 16)])
|
||||
@c.record
|
||||
class struct_kgsl_gpuobj_set_info(c.Struct):
|
||||
SIZE = 32
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
metadata: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
id: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
metadata_len: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
c.init_records()
|
||||
flags: int
|
||||
metadata: int
|
||||
id: int
|
||||
metadata_len: int
|
||||
type: int
|
||||
struct_kgsl_gpuobj_set_info.register_fields([('flags', ctypes.c_uint64, 0), ('metadata', ctypes.c_uint64, 8), ('id', ctypes.c_uint32, 16), ('metadata_len', ctypes.c_uint32, 20), ('type', ctypes.c_uint32, 24)])
|
||||
KGSL_VERSION_MAJOR = 3 # type: ignore
|
||||
KGSL_VERSION_MINOR = 14 # type: ignore
|
||||
KGSL_CONTEXT_SAVE_GMEM = 0x00000001 # type: ignore
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -1,604 +1,467 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
dll = c.DLL('libusb', 'usb-1.0')
|
||||
class enum_libusb_class_code(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_CLASS_PER_INTERFACE = enum_libusb_class_code.define('LIBUSB_CLASS_PER_INTERFACE', 0)
|
||||
LIBUSB_CLASS_AUDIO = enum_libusb_class_code.define('LIBUSB_CLASS_AUDIO', 1)
|
||||
LIBUSB_CLASS_COMM = enum_libusb_class_code.define('LIBUSB_CLASS_COMM', 2)
|
||||
LIBUSB_CLASS_HID = enum_libusb_class_code.define('LIBUSB_CLASS_HID', 3)
|
||||
LIBUSB_CLASS_PHYSICAL = enum_libusb_class_code.define('LIBUSB_CLASS_PHYSICAL', 5)
|
||||
LIBUSB_CLASS_IMAGE = enum_libusb_class_code.define('LIBUSB_CLASS_IMAGE', 6)
|
||||
LIBUSB_CLASS_PTP = enum_libusb_class_code.define('LIBUSB_CLASS_PTP', 6)
|
||||
LIBUSB_CLASS_PRINTER = enum_libusb_class_code.define('LIBUSB_CLASS_PRINTER', 7)
|
||||
LIBUSB_CLASS_MASS_STORAGE = enum_libusb_class_code.define('LIBUSB_CLASS_MASS_STORAGE', 8)
|
||||
LIBUSB_CLASS_HUB = enum_libusb_class_code.define('LIBUSB_CLASS_HUB', 9)
|
||||
LIBUSB_CLASS_DATA = enum_libusb_class_code.define('LIBUSB_CLASS_DATA', 10)
|
||||
LIBUSB_CLASS_SMART_CARD = enum_libusb_class_code.define('LIBUSB_CLASS_SMART_CARD', 11)
|
||||
LIBUSB_CLASS_CONTENT_SECURITY = enum_libusb_class_code.define('LIBUSB_CLASS_CONTENT_SECURITY', 13)
|
||||
LIBUSB_CLASS_VIDEO = enum_libusb_class_code.define('LIBUSB_CLASS_VIDEO', 14)
|
||||
LIBUSB_CLASS_PERSONAL_HEALTHCARE = enum_libusb_class_code.define('LIBUSB_CLASS_PERSONAL_HEALTHCARE', 15)
|
||||
LIBUSB_CLASS_DIAGNOSTIC_DEVICE = enum_libusb_class_code.define('LIBUSB_CLASS_DIAGNOSTIC_DEVICE', 220)
|
||||
LIBUSB_CLASS_WIRELESS = enum_libusb_class_code.define('LIBUSB_CLASS_WIRELESS', 224)
|
||||
LIBUSB_CLASS_MISCELLANEOUS = enum_libusb_class_code.define('LIBUSB_CLASS_MISCELLANEOUS', 239)
|
||||
LIBUSB_CLASS_APPLICATION = enum_libusb_class_code.define('LIBUSB_CLASS_APPLICATION', 254)
|
||||
LIBUSB_CLASS_VENDOR_SPEC = enum_libusb_class_code.define('LIBUSB_CLASS_VENDOR_SPEC', 255)
|
||||
|
||||
class enum_libusb_descriptor_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_DT_DEVICE = enum_libusb_descriptor_type.define('LIBUSB_DT_DEVICE', 1)
|
||||
LIBUSB_DT_CONFIG = enum_libusb_descriptor_type.define('LIBUSB_DT_CONFIG', 2)
|
||||
LIBUSB_DT_STRING = enum_libusb_descriptor_type.define('LIBUSB_DT_STRING', 3)
|
||||
LIBUSB_DT_INTERFACE = enum_libusb_descriptor_type.define('LIBUSB_DT_INTERFACE', 4)
|
||||
LIBUSB_DT_ENDPOINT = enum_libusb_descriptor_type.define('LIBUSB_DT_ENDPOINT', 5)
|
||||
LIBUSB_DT_INTERFACE_ASSOCIATION = enum_libusb_descriptor_type.define('LIBUSB_DT_INTERFACE_ASSOCIATION', 11)
|
||||
LIBUSB_DT_BOS = enum_libusb_descriptor_type.define('LIBUSB_DT_BOS', 15)
|
||||
LIBUSB_DT_DEVICE_CAPABILITY = enum_libusb_descriptor_type.define('LIBUSB_DT_DEVICE_CAPABILITY', 16)
|
||||
LIBUSB_DT_HID = enum_libusb_descriptor_type.define('LIBUSB_DT_HID', 33)
|
||||
LIBUSB_DT_REPORT = enum_libusb_descriptor_type.define('LIBUSB_DT_REPORT', 34)
|
||||
LIBUSB_DT_PHYSICAL = enum_libusb_descriptor_type.define('LIBUSB_DT_PHYSICAL', 35)
|
||||
LIBUSB_DT_HUB = enum_libusb_descriptor_type.define('LIBUSB_DT_HUB', 41)
|
||||
LIBUSB_DT_SUPERSPEED_HUB = enum_libusb_descriptor_type.define('LIBUSB_DT_SUPERSPEED_HUB', 42)
|
||||
LIBUSB_DT_SS_ENDPOINT_COMPANION = enum_libusb_descriptor_type.define('LIBUSB_DT_SS_ENDPOINT_COMPANION', 48)
|
||||
|
||||
class enum_libusb_endpoint_direction(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_ENDPOINT_OUT = enum_libusb_endpoint_direction.define('LIBUSB_ENDPOINT_OUT', 0)
|
||||
LIBUSB_ENDPOINT_IN = enum_libusb_endpoint_direction.define('LIBUSB_ENDPOINT_IN', 128)
|
||||
|
||||
class enum_libusb_endpoint_transfer_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_ENDPOINT_TRANSFER_TYPE_CONTROL = enum_libusb_endpoint_transfer_type.define('LIBUSB_ENDPOINT_TRANSFER_TYPE_CONTROL', 0)
|
||||
LIBUSB_ENDPOINT_TRANSFER_TYPE_ISOCHRONOUS = enum_libusb_endpoint_transfer_type.define('LIBUSB_ENDPOINT_TRANSFER_TYPE_ISOCHRONOUS', 1)
|
||||
LIBUSB_ENDPOINT_TRANSFER_TYPE_BULK = enum_libusb_endpoint_transfer_type.define('LIBUSB_ENDPOINT_TRANSFER_TYPE_BULK', 2)
|
||||
LIBUSB_ENDPOINT_TRANSFER_TYPE_INTERRUPT = enum_libusb_endpoint_transfer_type.define('LIBUSB_ENDPOINT_TRANSFER_TYPE_INTERRUPT', 3)
|
||||
|
||||
class enum_libusb_standard_request(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_REQUEST_GET_STATUS = enum_libusb_standard_request.define('LIBUSB_REQUEST_GET_STATUS', 0)
|
||||
LIBUSB_REQUEST_CLEAR_FEATURE = enum_libusb_standard_request.define('LIBUSB_REQUEST_CLEAR_FEATURE', 1)
|
||||
LIBUSB_REQUEST_SET_FEATURE = enum_libusb_standard_request.define('LIBUSB_REQUEST_SET_FEATURE', 3)
|
||||
LIBUSB_REQUEST_SET_ADDRESS = enum_libusb_standard_request.define('LIBUSB_REQUEST_SET_ADDRESS', 5)
|
||||
LIBUSB_REQUEST_GET_DESCRIPTOR = enum_libusb_standard_request.define('LIBUSB_REQUEST_GET_DESCRIPTOR', 6)
|
||||
LIBUSB_REQUEST_SET_DESCRIPTOR = enum_libusb_standard_request.define('LIBUSB_REQUEST_SET_DESCRIPTOR', 7)
|
||||
LIBUSB_REQUEST_GET_CONFIGURATION = enum_libusb_standard_request.define('LIBUSB_REQUEST_GET_CONFIGURATION', 8)
|
||||
LIBUSB_REQUEST_SET_CONFIGURATION = enum_libusb_standard_request.define('LIBUSB_REQUEST_SET_CONFIGURATION', 9)
|
||||
LIBUSB_REQUEST_GET_INTERFACE = enum_libusb_standard_request.define('LIBUSB_REQUEST_GET_INTERFACE', 10)
|
||||
LIBUSB_REQUEST_SET_INTERFACE = enum_libusb_standard_request.define('LIBUSB_REQUEST_SET_INTERFACE', 11)
|
||||
LIBUSB_REQUEST_SYNCH_FRAME = enum_libusb_standard_request.define('LIBUSB_REQUEST_SYNCH_FRAME', 12)
|
||||
LIBUSB_REQUEST_SET_SEL = enum_libusb_standard_request.define('LIBUSB_REQUEST_SET_SEL', 48)
|
||||
LIBUSB_SET_ISOCH_DELAY = enum_libusb_standard_request.define('LIBUSB_SET_ISOCH_DELAY', 49)
|
||||
|
||||
class enum_libusb_request_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_REQUEST_TYPE_STANDARD = enum_libusb_request_type.define('LIBUSB_REQUEST_TYPE_STANDARD', 0)
|
||||
LIBUSB_REQUEST_TYPE_CLASS = enum_libusb_request_type.define('LIBUSB_REQUEST_TYPE_CLASS', 32)
|
||||
LIBUSB_REQUEST_TYPE_VENDOR = enum_libusb_request_type.define('LIBUSB_REQUEST_TYPE_VENDOR', 64)
|
||||
LIBUSB_REQUEST_TYPE_RESERVED = enum_libusb_request_type.define('LIBUSB_REQUEST_TYPE_RESERVED', 96)
|
||||
|
||||
class enum_libusb_request_recipient(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_RECIPIENT_DEVICE = enum_libusb_request_recipient.define('LIBUSB_RECIPIENT_DEVICE', 0)
|
||||
LIBUSB_RECIPIENT_INTERFACE = enum_libusb_request_recipient.define('LIBUSB_RECIPIENT_INTERFACE', 1)
|
||||
LIBUSB_RECIPIENT_ENDPOINT = enum_libusb_request_recipient.define('LIBUSB_RECIPIENT_ENDPOINT', 2)
|
||||
LIBUSB_RECIPIENT_OTHER = enum_libusb_request_recipient.define('LIBUSB_RECIPIENT_OTHER', 3)
|
||||
|
||||
class enum_libusb_iso_sync_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_ISO_SYNC_TYPE_NONE = enum_libusb_iso_sync_type.define('LIBUSB_ISO_SYNC_TYPE_NONE', 0)
|
||||
LIBUSB_ISO_SYNC_TYPE_ASYNC = enum_libusb_iso_sync_type.define('LIBUSB_ISO_SYNC_TYPE_ASYNC', 1)
|
||||
LIBUSB_ISO_SYNC_TYPE_ADAPTIVE = enum_libusb_iso_sync_type.define('LIBUSB_ISO_SYNC_TYPE_ADAPTIVE', 2)
|
||||
LIBUSB_ISO_SYNC_TYPE_SYNC = enum_libusb_iso_sync_type.define('LIBUSB_ISO_SYNC_TYPE_SYNC', 3)
|
||||
|
||||
class enum_libusb_iso_usage_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_ISO_USAGE_TYPE_DATA = enum_libusb_iso_usage_type.define('LIBUSB_ISO_USAGE_TYPE_DATA', 0)
|
||||
LIBUSB_ISO_USAGE_TYPE_FEEDBACK = enum_libusb_iso_usage_type.define('LIBUSB_ISO_USAGE_TYPE_FEEDBACK', 1)
|
||||
LIBUSB_ISO_USAGE_TYPE_IMPLICIT = enum_libusb_iso_usage_type.define('LIBUSB_ISO_USAGE_TYPE_IMPLICIT', 2)
|
||||
|
||||
class enum_libusb_supported_speed(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_LOW_SPEED_OPERATION = enum_libusb_supported_speed.define('LIBUSB_LOW_SPEED_OPERATION', 1)
|
||||
LIBUSB_FULL_SPEED_OPERATION = enum_libusb_supported_speed.define('LIBUSB_FULL_SPEED_OPERATION', 2)
|
||||
LIBUSB_HIGH_SPEED_OPERATION = enum_libusb_supported_speed.define('LIBUSB_HIGH_SPEED_OPERATION', 4)
|
||||
LIBUSB_SUPER_SPEED_OPERATION = enum_libusb_supported_speed.define('LIBUSB_SUPER_SPEED_OPERATION', 8)
|
||||
|
||||
class enum_libusb_usb_2_0_extension_attributes(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_BM_LPM_SUPPORT = enum_libusb_usb_2_0_extension_attributes.define('LIBUSB_BM_LPM_SUPPORT', 2)
|
||||
|
||||
class enum_libusb_ss_usb_device_capability_attributes(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_BM_LTM_SUPPORT = enum_libusb_ss_usb_device_capability_attributes.define('LIBUSB_BM_LTM_SUPPORT', 2)
|
||||
|
||||
class enum_libusb_bos_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_BT_WIRELESS_USB_DEVICE_CAPABILITY = enum_libusb_bos_type.define('LIBUSB_BT_WIRELESS_USB_DEVICE_CAPABILITY', 1)
|
||||
LIBUSB_BT_USB_2_0_EXTENSION = enum_libusb_bos_type.define('LIBUSB_BT_USB_2_0_EXTENSION', 2)
|
||||
LIBUSB_BT_SS_USB_DEVICE_CAPABILITY = enum_libusb_bos_type.define('LIBUSB_BT_SS_USB_DEVICE_CAPABILITY', 3)
|
||||
LIBUSB_BT_CONTAINER_ID = enum_libusb_bos_type.define('LIBUSB_BT_CONTAINER_ID', 4)
|
||||
LIBUSB_BT_PLATFORM_DESCRIPTOR = enum_libusb_bos_type.define('LIBUSB_BT_PLATFORM_DESCRIPTOR', 5)
|
||||
|
||||
enum_libusb_class_code: dict[int, str] = {(LIBUSB_CLASS_PER_INTERFACE:=0): 'LIBUSB_CLASS_PER_INTERFACE', (LIBUSB_CLASS_AUDIO:=1): 'LIBUSB_CLASS_AUDIO', (LIBUSB_CLASS_COMM:=2): 'LIBUSB_CLASS_COMM', (LIBUSB_CLASS_HID:=3): 'LIBUSB_CLASS_HID', (LIBUSB_CLASS_PHYSICAL:=5): 'LIBUSB_CLASS_PHYSICAL', (LIBUSB_CLASS_IMAGE:=6): 'LIBUSB_CLASS_IMAGE', (LIBUSB_CLASS_PTP:=6): 'LIBUSB_CLASS_PTP', (LIBUSB_CLASS_PRINTER:=7): 'LIBUSB_CLASS_PRINTER', (LIBUSB_CLASS_MASS_STORAGE:=8): 'LIBUSB_CLASS_MASS_STORAGE', (LIBUSB_CLASS_HUB:=9): 'LIBUSB_CLASS_HUB', (LIBUSB_CLASS_DATA:=10): 'LIBUSB_CLASS_DATA', (LIBUSB_CLASS_SMART_CARD:=11): 'LIBUSB_CLASS_SMART_CARD', (LIBUSB_CLASS_CONTENT_SECURITY:=13): 'LIBUSB_CLASS_CONTENT_SECURITY', (LIBUSB_CLASS_VIDEO:=14): 'LIBUSB_CLASS_VIDEO', (LIBUSB_CLASS_PERSONAL_HEALTHCARE:=15): 'LIBUSB_CLASS_PERSONAL_HEALTHCARE', (LIBUSB_CLASS_DIAGNOSTIC_DEVICE:=220): 'LIBUSB_CLASS_DIAGNOSTIC_DEVICE', (LIBUSB_CLASS_WIRELESS:=224): 'LIBUSB_CLASS_WIRELESS', (LIBUSB_CLASS_MISCELLANEOUS:=239): 'LIBUSB_CLASS_MISCELLANEOUS', (LIBUSB_CLASS_APPLICATION:=254): 'LIBUSB_CLASS_APPLICATION', (LIBUSB_CLASS_VENDOR_SPEC:=255): 'LIBUSB_CLASS_VENDOR_SPEC'}
|
||||
enum_libusb_descriptor_type: dict[int, str] = {(LIBUSB_DT_DEVICE:=1): 'LIBUSB_DT_DEVICE', (LIBUSB_DT_CONFIG:=2): 'LIBUSB_DT_CONFIG', (LIBUSB_DT_STRING:=3): 'LIBUSB_DT_STRING', (LIBUSB_DT_INTERFACE:=4): 'LIBUSB_DT_INTERFACE', (LIBUSB_DT_ENDPOINT:=5): 'LIBUSB_DT_ENDPOINT', (LIBUSB_DT_INTERFACE_ASSOCIATION:=11): 'LIBUSB_DT_INTERFACE_ASSOCIATION', (LIBUSB_DT_BOS:=15): 'LIBUSB_DT_BOS', (LIBUSB_DT_DEVICE_CAPABILITY:=16): 'LIBUSB_DT_DEVICE_CAPABILITY', (LIBUSB_DT_HID:=33): 'LIBUSB_DT_HID', (LIBUSB_DT_REPORT:=34): 'LIBUSB_DT_REPORT', (LIBUSB_DT_PHYSICAL:=35): 'LIBUSB_DT_PHYSICAL', (LIBUSB_DT_HUB:=41): 'LIBUSB_DT_HUB', (LIBUSB_DT_SUPERSPEED_HUB:=42): 'LIBUSB_DT_SUPERSPEED_HUB', (LIBUSB_DT_SS_ENDPOINT_COMPANION:=48): 'LIBUSB_DT_SS_ENDPOINT_COMPANION'}
|
||||
enum_libusb_endpoint_direction: dict[int, str] = {(LIBUSB_ENDPOINT_OUT:=0): 'LIBUSB_ENDPOINT_OUT', (LIBUSB_ENDPOINT_IN:=128): 'LIBUSB_ENDPOINT_IN'}
|
||||
enum_libusb_endpoint_transfer_type: dict[int, str] = {(LIBUSB_ENDPOINT_TRANSFER_TYPE_CONTROL:=0): 'LIBUSB_ENDPOINT_TRANSFER_TYPE_CONTROL', (LIBUSB_ENDPOINT_TRANSFER_TYPE_ISOCHRONOUS:=1): 'LIBUSB_ENDPOINT_TRANSFER_TYPE_ISOCHRONOUS', (LIBUSB_ENDPOINT_TRANSFER_TYPE_BULK:=2): 'LIBUSB_ENDPOINT_TRANSFER_TYPE_BULK', (LIBUSB_ENDPOINT_TRANSFER_TYPE_INTERRUPT:=3): 'LIBUSB_ENDPOINT_TRANSFER_TYPE_INTERRUPT'}
|
||||
enum_libusb_standard_request: dict[int, str] = {(LIBUSB_REQUEST_GET_STATUS:=0): 'LIBUSB_REQUEST_GET_STATUS', (LIBUSB_REQUEST_CLEAR_FEATURE:=1): 'LIBUSB_REQUEST_CLEAR_FEATURE', (LIBUSB_REQUEST_SET_FEATURE:=3): 'LIBUSB_REQUEST_SET_FEATURE', (LIBUSB_REQUEST_SET_ADDRESS:=5): 'LIBUSB_REQUEST_SET_ADDRESS', (LIBUSB_REQUEST_GET_DESCRIPTOR:=6): 'LIBUSB_REQUEST_GET_DESCRIPTOR', (LIBUSB_REQUEST_SET_DESCRIPTOR:=7): 'LIBUSB_REQUEST_SET_DESCRIPTOR', (LIBUSB_REQUEST_GET_CONFIGURATION:=8): 'LIBUSB_REQUEST_GET_CONFIGURATION', (LIBUSB_REQUEST_SET_CONFIGURATION:=9): 'LIBUSB_REQUEST_SET_CONFIGURATION', (LIBUSB_REQUEST_GET_INTERFACE:=10): 'LIBUSB_REQUEST_GET_INTERFACE', (LIBUSB_REQUEST_SET_INTERFACE:=11): 'LIBUSB_REQUEST_SET_INTERFACE', (LIBUSB_REQUEST_SYNCH_FRAME:=12): 'LIBUSB_REQUEST_SYNCH_FRAME', (LIBUSB_REQUEST_SET_SEL:=48): 'LIBUSB_REQUEST_SET_SEL', (LIBUSB_SET_ISOCH_DELAY:=49): 'LIBUSB_SET_ISOCH_DELAY'}
|
||||
enum_libusb_request_type: dict[int, str] = {(LIBUSB_REQUEST_TYPE_STANDARD:=0): 'LIBUSB_REQUEST_TYPE_STANDARD', (LIBUSB_REQUEST_TYPE_CLASS:=32): 'LIBUSB_REQUEST_TYPE_CLASS', (LIBUSB_REQUEST_TYPE_VENDOR:=64): 'LIBUSB_REQUEST_TYPE_VENDOR', (LIBUSB_REQUEST_TYPE_RESERVED:=96): 'LIBUSB_REQUEST_TYPE_RESERVED'}
|
||||
enum_libusb_request_recipient: dict[int, str] = {(LIBUSB_RECIPIENT_DEVICE:=0): 'LIBUSB_RECIPIENT_DEVICE', (LIBUSB_RECIPIENT_INTERFACE:=1): 'LIBUSB_RECIPIENT_INTERFACE', (LIBUSB_RECIPIENT_ENDPOINT:=2): 'LIBUSB_RECIPIENT_ENDPOINT', (LIBUSB_RECIPIENT_OTHER:=3): 'LIBUSB_RECIPIENT_OTHER'}
|
||||
enum_libusb_iso_sync_type: dict[int, str] = {(LIBUSB_ISO_SYNC_TYPE_NONE:=0): 'LIBUSB_ISO_SYNC_TYPE_NONE', (LIBUSB_ISO_SYNC_TYPE_ASYNC:=1): 'LIBUSB_ISO_SYNC_TYPE_ASYNC', (LIBUSB_ISO_SYNC_TYPE_ADAPTIVE:=2): 'LIBUSB_ISO_SYNC_TYPE_ADAPTIVE', (LIBUSB_ISO_SYNC_TYPE_SYNC:=3): 'LIBUSB_ISO_SYNC_TYPE_SYNC'}
|
||||
enum_libusb_iso_usage_type: dict[int, str] = {(LIBUSB_ISO_USAGE_TYPE_DATA:=0): 'LIBUSB_ISO_USAGE_TYPE_DATA', (LIBUSB_ISO_USAGE_TYPE_FEEDBACK:=1): 'LIBUSB_ISO_USAGE_TYPE_FEEDBACK', (LIBUSB_ISO_USAGE_TYPE_IMPLICIT:=2): 'LIBUSB_ISO_USAGE_TYPE_IMPLICIT'}
|
||||
enum_libusb_supported_speed: dict[int, str] = {(LIBUSB_LOW_SPEED_OPERATION:=1): 'LIBUSB_LOW_SPEED_OPERATION', (LIBUSB_FULL_SPEED_OPERATION:=2): 'LIBUSB_FULL_SPEED_OPERATION', (LIBUSB_HIGH_SPEED_OPERATION:=4): 'LIBUSB_HIGH_SPEED_OPERATION', (LIBUSB_SUPER_SPEED_OPERATION:=8): 'LIBUSB_SUPER_SPEED_OPERATION'}
|
||||
enum_libusb_usb_2_0_extension_attributes: dict[int, str] = {(LIBUSB_BM_LPM_SUPPORT:=2): 'LIBUSB_BM_LPM_SUPPORT'}
|
||||
enum_libusb_ss_usb_device_capability_attributes: dict[int, str] = {(LIBUSB_BM_LTM_SUPPORT:=2): 'LIBUSB_BM_LTM_SUPPORT'}
|
||||
enum_libusb_bos_type: dict[int, str] = {(LIBUSB_BT_WIRELESS_USB_DEVICE_CAPABILITY:=1): 'LIBUSB_BT_WIRELESS_USB_DEVICE_CAPABILITY', (LIBUSB_BT_USB_2_0_EXTENSION:=2): 'LIBUSB_BT_USB_2_0_EXTENSION', (LIBUSB_BT_SS_USB_DEVICE_CAPABILITY:=3): 'LIBUSB_BT_SS_USB_DEVICE_CAPABILITY', (LIBUSB_BT_CONTAINER_ID:=4): 'LIBUSB_BT_CONTAINER_ID', (LIBUSB_BT_PLATFORM_DESCRIPTOR:=5): 'LIBUSB_BT_PLATFORM_DESCRIPTOR'}
|
||||
@c.record
|
||||
class struct_libusb_device_descriptor(c.Struct):
|
||||
SIZE = 18
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bcdUSB: Annotated[uint16_t, 2]
|
||||
bDeviceClass: Annotated[uint8_t, 4]
|
||||
bDeviceSubClass: Annotated[uint8_t, 5]
|
||||
bDeviceProtocol: Annotated[uint8_t, 6]
|
||||
bMaxPacketSize0: Annotated[uint8_t, 7]
|
||||
idVendor: Annotated[uint16_t, 8]
|
||||
idProduct: Annotated[uint16_t, 10]
|
||||
bcdDevice: Annotated[uint16_t, 12]
|
||||
iManufacturer: Annotated[uint8_t, 14]
|
||||
iProduct: Annotated[uint8_t, 15]
|
||||
iSerialNumber: Annotated[uint8_t, 16]
|
||||
bNumConfigurations: Annotated[uint8_t, 17]
|
||||
uint8_t: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
||||
uint16_t: TypeAlias = Annotated[int, ctypes.c_uint16]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bcdUSB: int
|
||||
bDeviceClass: int
|
||||
bDeviceSubClass: int
|
||||
bDeviceProtocol: int
|
||||
bMaxPacketSize0: int
|
||||
idVendor: int
|
||||
idProduct: int
|
||||
bcdDevice: int
|
||||
iManufacturer: int
|
||||
iProduct: int
|
||||
iSerialNumber: int
|
||||
bNumConfigurations: int
|
||||
uint8_t: TypeAlias = ctypes.c_ubyte
|
||||
uint16_t: TypeAlias = ctypes.c_uint16
|
||||
struct_libusb_device_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bcdUSB', uint16_t, 2), ('bDeviceClass', uint8_t, 4), ('bDeviceSubClass', uint8_t, 5), ('bDeviceProtocol', uint8_t, 6), ('bMaxPacketSize0', uint8_t, 7), ('idVendor', uint16_t, 8), ('idProduct', uint16_t, 10), ('bcdDevice', uint16_t, 12), ('iManufacturer', uint8_t, 14), ('iProduct', uint8_t, 15), ('iSerialNumber', uint8_t, 16), ('bNumConfigurations', uint8_t, 17)])
|
||||
@c.record
|
||||
class struct_libusb_endpoint_descriptor(c.Struct):
|
||||
SIZE = 32
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bEndpointAddress: Annotated[uint8_t, 2]
|
||||
bmAttributes: Annotated[uint8_t, 3]
|
||||
wMaxPacketSize: Annotated[uint16_t, 4]
|
||||
bInterval: Annotated[uint8_t, 6]
|
||||
bRefresh: Annotated[uint8_t, 7]
|
||||
bSynchAddress: Annotated[uint8_t, 8]
|
||||
extra: Annotated[c.POINTER[Annotated[int, ctypes.c_ubyte]], 16]
|
||||
extra_length: Annotated[Annotated[int, ctypes.c_int32], 24]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bEndpointAddress: int
|
||||
bmAttributes: int
|
||||
wMaxPacketSize: int
|
||||
bInterval: int
|
||||
bRefresh: int
|
||||
bSynchAddress: int
|
||||
extra: c.POINTER[ctypes.c_ubyte]
|
||||
extra_length: int
|
||||
struct_libusb_endpoint_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bEndpointAddress', uint8_t, 2), ('bmAttributes', uint8_t, 3), ('wMaxPacketSize', uint16_t, 4), ('bInterval', uint8_t, 6), ('bRefresh', uint8_t, 7), ('bSynchAddress', uint8_t, 8), ('extra', c.POINTER[ctypes.c_ubyte], 16), ('extra_length', ctypes.c_int32, 24)])
|
||||
@c.record
|
||||
class struct_libusb_interface_association_descriptor(c.Struct):
|
||||
SIZE = 8
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bFirstInterface: Annotated[uint8_t, 2]
|
||||
bInterfaceCount: Annotated[uint8_t, 3]
|
||||
bFunctionClass: Annotated[uint8_t, 4]
|
||||
bFunctionSubClass: Annotated[uint8_t, 5]
|
||||
bFunctionProtocol: Annotated[uint8_t, 6]
|
||||
iFunction: Annotated[uint8_t, 7]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bFirstInterface: int
|
||||
bInterfaceCount: int
|
||||
bFunctionClass: int
|
||||
bFunctionSubClass: int
|
||||
bFunctionProtocol: int
|
||||
iFunction: int
|
||||
struct_libusb_interface_association_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bFirstInterface', uint8_t, 2), ('bInterfaceCount', uint8_t, 3), ('bFunctionClass', uint8_t, 4), ('bFunctionSubClass', uint8_t, 5), ('bFunctionProtocol', uint8_t, 6), ('iFunction', uint8_t, 7)])
|
||||
@c.record
|
||||
class struct_libusb_interface_association_descriptor_array(c.Struct):
|
||||
SIZE = 16
|
||||
iad: Annotated[c.POINTER[struct_libusb_interface_association_descriptor], 0]
|
||||
length: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
iad: c.POINTER[struct_libusb_interface_association_descriptor]
|
||||
length: int
|
||||
struct_libusb_interface_association_descriptor_array.register_fields([('iad', c.POINTER[struct_libusb_interface_association_descriptor], 0), ('length', ctypes.c_int32, 8)])
|
||||
@c.record
|
||||
class struct_libusb_interface_descriptor(c.Struct):
|
||||
SIZE = 40
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bInterfaceNumber: Annotated[uint8_t, 2]
|
||||
bAlternateSetting: Annotated[uint8_t, 3]
|
||||
bNumEndpoints: Annotated[uint8_t, 4]
|
||||
bInterfaceClass: Annotated[uint8_t, 5]
|
||||
bInterfaceSubClass: Annotated[uint8_t, 6]
|
||||
bInterfaceProtocol: Annotated[uint8_t, 7]
|
||||
iInterface: Annotated[uint8_t, 8]
|
||||
endpoint: Annotated[c.POINTER[struct_libusb_endpoint_descriptor], 16]
|
||||
extra: Annotated[c.POINTER[Annotated[int, ctypes.c_ubyte]], 24]
|
||||
extra_length: Annotated[Annotated[int, ctypes.c_int32], 32]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bInterfaceNumber: int
|
||||
bAlternateSetting: int
|
||||
bNumEndpoints: int
|
||||
bInterfaceClass: int
|
||||
bInterfaceSubClass: int
|
||||
bInterfaceProtocol: int
|
||||
iInterface: int
|
||||
endpoint: c.POINTER[struct_libusb_endpoint_descriptor]
|
||||
extra: c.POINTER[ctypes.c_ubyte]
|
||||
extra_length: int
|
||||
struct_libusb_interface_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bInterfaceNumber', uint8_t, 2), ('bAlternateSetting', uint8_t, 3), ('bNumEndpoints', uint8_t, 4), ('bInterfaceClass', uint8_t, 5), ('bInterfaceSubClass', uint8_t, 6), ('bInterfaceProtocol', uint8_t, 7), ('iInterface', uint8_t, 8), ('endpoint', c.POINTER[struct_libusb_endpoint_descriptor], 16), ('extra', c.POINTER[ctypes.c_ubyte], 24), ('extra_length', ctypes.c_int32, 32)])
|
||||
@c.record
|
||||
class struct_libusb_interface(c.Struct):
|
||||
SIZE = 16
|
||||
altsetting: Annotated[c.POINTER[struct_libusb_interface_descriptor], 0]
|
||||
num_altsetting: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
altsetting: c.POINTER[struct_libusb_interface_descriptor]
|
||||
num_altsetting: int
|
||||
struct_libusb_interface.register_fields([('altsetting', c.POINTER[struct_libusb_interface_descriptor], 0), ('num_altsetting', ctypes.c_int32, 8)])
|
||||
@c.record
|
||||
class struct_libusb_config_descriptor(c.Struct):
|
||||
SIZE = 40
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
wTotalLength: Annotated[uint16_t, 2]
|
||||
bNumInterfaces: Annotated[uint8_t, 4]
|
||||
bConfigurationValue: Annotated[uint8_t, 5]
|
||||
iConfiguration: Annotated[uint8_t, 6]
|
||||
bmAttributes: Annotated[uint8_t, 7]
|
||||
MaxPower: Annotated[uint8_t, 8]
|
||||
interface: Annotated[c.POINTER[struct_libusb_interface], 16]
|
||||
extra: Annotated[c.POINTER[Annotated[int, ctypes.c_ubyte]], 24]
|
||||
extra_length: Annotated[Annotated[int, ctypes.c_int32], 32]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
wTotalLength: int
|
||||
bNumInterfaces: int
|
||||
bConfigurationValue: int
|
||||
iConfiguration: int
|
||||
bmAttributes: int
|
||||
MaxPower: int
|
||||
interface: c.POINTER[struct_libusb_interface]
|
||||
extra: c.POINTER[ctypes.c_ubyte]
|
||||
extra_length: int
|
||||
struct_libusb_config_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('wTotalLength', uint16_t, 2), ('bNumInterfaces', uint8_t, 4), ('bConfigurationValue', uint8_t, 5), ('iConfiguration', uint8_t, 6), ('bmAttributes', uint8_t, 7), ('MaxPower', uint8_t, 8), ('interface', c.POINTER[struct_libusb_interface], 16), ('extra', c.POINTER[ctypes.c_ubyte], 24), ('extra_length', ctypes.c_int32, 32)])
|
||||
@c.record
|
||||
class struct_libusb_ss_endpoint_companion_descriptor(c.Struct):
|
||||
SIZE = 6
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bMaxBurst: Annotated[uint8_t, 2]
|
||||
bmAttributes: Annotated[uint8_t, 3]
|
||||
wBytesPerInterval: Annotated[uint16_t, 4]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bMaxBurst: int
|
||||
bmAttributes: int
|
||||
wBytesPerInterval: int
|
||||
struct_libusb_ss_endpoint_companion_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bMaxBurst', uint8_t, 2), ('bmAttributes', uint8_t, 3), ('wBytesPerInterval', uint16_t, 4)])
|
||||
@c.record
|
||||
class struct_libusb_bos_dev_capability_descriptor(c.Struct):
|
||||
SIZE = 3
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bDevCapabilityType: Annotated[uint8_t, 2]
|
||||
dev_capability_data: Annotated[c.Array[uint8_t, Literal[0]], 3]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bDevCapabilityType: int
|
||||
dev_capability_data: c.Array[ctypes.c_ubyte, Literal[0]]
|
||||
struct_libusb_bos_dev_capability_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bDevCapabilityType', uint8_t, 2), ('dev_capability_data', c.Array[uint8_t, Literal[0]], 3)])
|
||||
@c.record
|
||||
class struct_libusb_bos_descriptor(c.Struct):
|
||||
SIZE = 8
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
wTotalLength: Annotated[uint16_t, 2]
|
||||
bNumDeviceCaps: Annotated[uint8_t, 4]
|
||||
dev_capability: Annotated[c.Array[c.POINTER[struct_libusb_bos_dev_capability_descriptor], Literal[0]], 8]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
wTotalLength: int
|
||||
bNumDeviceCaps: int
|
||||
dev_capability: c.Array[c.POINTER[struct_libusb_bos_dev_capability_descriptor], Literal[0]]
|
||||
struct_libusb_bos_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('wTotalLength', uint16_t, 2), ('bNumDeviceCaps', uint8_t, 4), ('dev_capability', c.Array[c.POINTER[struct_libusb_bos_dev_capability_descriptor], Literal[0]], 8)])
|
||||
@c.record
|
||||
class struct_libusb_usb_2_0_extension_descriptor(c.Struct):
|
||||
SIZE = 8
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bDevCapabilityType: Annotated[uint8_t, 2]
|
||||
bmAttributes: Annotated[uint32_t, 4]
|
||||
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bDevCapabilityType: int
|
||||
bmAttributes: int
|
||||
uint32_t: TypeAlias = ctypes.c_uint32
|
||||
struct_libusb_usb_2_0_extension_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bDevCapabilityType', uint8_t, 2), ('bmAttributes', uint32_t, 4)])
|
||||
@c.record
|
||||
class struct_libusb_ss_usb_device_capability_descriptor(c.Struct):
|
||||
SIZE = 10
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bDevCapabilityType: Annotated[uint8_t, 2]
|
||||
bmAttributes: Annotated[uint8_t, 3]
|
||||
wSpeedSupported: Annotated[uint16_t, 4]
|
||||
bFunctionalitySupport: Annotated[uint8_t, 6]
|
||||
bU1DevExitLat: Annotated[uint8_t, 7]
|
||||
bU2DevExitLat: Annotated[uint16_t, 8]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bDevCapabilityType: int
|
||||
bmAttributes: int
|
||||
wSpeedSupported: int
|
||||
bFunctionalitySupport: int
|
||||
bU1DevExitLat: int
|
||||
bU2DevExitLat: int
|
||||
struct_libusb_ss_usb_device_capability_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bDevCapabilityType', uint8_t, 2), ('bmAttributes', uint8_t, 3), ('wSpeedSupported', uint16_t, 4), ('bFunctionalitySupport', uint8_t, 6), ('bU1DevExitLat', uint8_t, 7), ('bU2DevExitLat', uint16_t, 8)])
|
||||
@c.record
|
||||
class struct_libusb_container_id_descriptor(c.Struct):
|
||||
SIZE = 20
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bDevCapabilityType: Annotated[uint8_t, 2]
|
||||
bReserved: Annotated[uint8_t, 3]
|
||||
ContainerID: Annotated[c.Array[uint8_t, Literal[16]], 4]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bDevCapabilityType: int
|
||||
bReserved: int
|
||||
ContainerID: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
struct_libusb_container_id_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bDevCapabilityType', uint8_t, 2), ('bReserved', uint8_t, 3), ('ContainerID', c.Array[uint8_t, Literal[16]], 4)])
|
||||
@c.record
|
||||
class struct_libusb_platform_descriptor(c.Struct):
|
||||
SIZE = 20
|
||||
bLength: Annotated[uint8_t, 0]
|
||||
bDescriptorType: Annotated[uint8_t, 1]
|
||||
bDevCapabilityType: Annotated[uint8_t, 2]
|
||||
bReserved: Annotated[uint8_t, 3]
|
||||
PlatformCapabilityUUID: Annotated[c.Array[uint8_t, Literal[16]], 4]
|
||||
CapabilityData: Annotated[c.Array[uint8_t, Literal[0]], 20]
|
||||
bLength: int
|
||||
bDescriptorType: int
|
||||
bDevCapabilityType: int
|
||||
bReserved: int
|
||||
PlatformCapabilityUUID: c.Array[ctypes.c_ubyte, Literal[16]]
|
||||
CapabilityData: c.Array[ctypes.c_ubyte, Literal[0]]
|
||||
struct_libusb_platform_descriptor.register_fields([('bLength', uint8_t, 0), ('bDescriptorType', uint8_t, 1), ('bDevCapabilityType', uint8_t, 2), ('bReserved', uint8_t, 3), ('PlatformCapabilityUUID', c.Array[uint8_t, Literal[16]], 4), ('CapabilityData', c.Array[uint8_t, Literal[0]], 20)])
|
||||
@c.record
|
||||
class struct_libusb_control_setup(c.Struct):
|
||||
SIZE = 8
|
||||
bmRequestType: Annotated[uint8_t, 0]
|
||||
bRequest: Annotated[uint8_t, 1]
|
||||
wValue: Annotated[uint16_t, 2]
|
||||
wIndex: Annotated[uint16_t, 4]
|
||||
wLength: Annotated[uint16_t, 6]
|
||||
class struct_libusb_context(c.Struct): SIZE = 0
|
||||
class struct_libusb_device(c.Struct): SIZE = 0
|
||||
class struct_libusb_device_handle(c.Struct): SIZE = 0
|
||||
bmRequestType: int
|
||||
bRequest: int
|
||||
wValue: int
|
||||
wIndex: int
|
||||
wLength: int
|
||||
struct_libusb_control_setup.register_fields([('bmRequestType', uint8_t, 0), ('bRequest', uint8_t, 1), ('wValue', uint16_t, 2), ('wIndex', uint16_t, 4), ('wLength', uint16_t, 6)])
|
||||
class struct_libusb_context(c.Struct): pass
|
||||
class struct_libusb_device(c.Struct): pass
|
||||
class struct_libusb_device_handle(c.Struct): pass
|
||||
@c.record
|
||||
class struct_libusb_version(c.Struct):
|
||||
SIZE = 24
|
||||
major: Annotated[uint16_t, 0]
|
||||
minor: Annotated[uint16_t, 2]
|
||||
micro: Annotated[uint16_t, 4]
|
||||
nano: Annotated[uint16_t, 6]
|
||||
rc: Annotated[c.POINTER[Annotated[bytes, ctypes.c_char]], 8]
|
||||
describe: Annotated[c.POINTER[Annotated[bytes, ctypes.c_char]], 16]
|
||||
major: int
|
||||
minor: int
|
||||
micro: int
|
||||
nano: int
|
||||
rc: c.POINTER[ctypes.c_char]
|
||||
describe: c.POINTER[ctypes.c_char]
|
||||
struct_libusb_version.register_fields([('major', uint16_t, 0), ('minor', uint16_t, 2), ('micro', uint16_t, 4), ('nano', uint16_t, 6), ('rc', c.POINTER[ctypes.c_char], 8), ('describe', c.POINTER[ctypes.c_char], 16)])
|
||||
libusb_context: TypeAlias = struct_libusb_context
|
||||
libusb_device: TypeAlias = struct_libusb_device
|
||||
libusb_device_handle: TypeAlias = struct_libusb_device_handle
|
||||
class enum_libusb_speed(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_SPEED_UNKNOWN = enum_libusb_speed.define('LIBUSB_SPEED_UNKNOWN', 0)
|
||||
LIBUSB_SPEED_LOW = enum_libusb_speed.define('LIBUSB_SPEED_LOW', 1)
|
||||
LIBUSB_SPEED_FULL = enum_libusb_speed.define('LIBUSB_SPEED_FULL', 2)
|
||||
LIBUSB_SPEED_HIGH = enum_libusb_speed.define('LIBUSB_SPEED_HIGH', 3)
|
||||
LIBUSB_SPEED_SUPER = enum_libusb_speed.define('LIBUSB_SPEED_SUPER', 4)
|
||||
LIBUSB_SPEED_SUPER_PLUS = enum_libusb_speed.define('LIBUSB_SPEED_SUPER_PLUS', 5)
|
||||
|
||||
class enum_libusb_error(Annotated[int, ctypes.c_int32], c.Enum): pass
|
||||
LIBUSB_SUCCESS = enum_libusb_error.define('LIBUSB_SUCCESS', 0)
|
||||
LIBUSB_ERROR_IO = enum_libusb_error.define('LIBUSB_ERROR_IO', -1)
|
||||
LIBUSB_ERROR_INVALID_PARAM = enum_libusb_error.define('LIBUSB_ERROR_INVALID_PARAM', -2)
|
||||
LIBUSB_ERROR_ACCESS = enum_libusb_error.define('LIBUSB_ERROR_ACCESS', -3)
|
||||
LIBUSB_ERROR_NO_DEVICE = enum_libusb_error.define('LIBUSB_ERROR_NO_DEVICE', -4)
|
||||
LIBUSB_ERROR_NOT_FOUND = enum_libusb_error.define('LIBUSB_ERROR_NOT_FOUND', -5)
|
||||
LIBUSB_ERROR_BUSY = enum_libusb_error.define('LIBUSB_ERROR_BUSY', -6)
|
||||
LIBUSB_ERROR_TIMEOUT = enum_libusb_error.define('LIBUSB_ERROR_TIMEOUT', -7)
|
||||
LIBUSB_ERROR_OVERFLOW = enum_libusb_error.define('LIBUSB_ERROR_OVERFLOW', -8)
|
||||
LIBUSB_ERROR_PIPE = enum_libusb_error.define('LIBUSB_ERROR_PIPE', -9)
|
||||
LIBUSB_ERROR_INTERRUPTED = enum_libusb_error.define('LIBUSB_ERROR_INTERRUPTED', -10)
|
||||
LIBUSB_ERROR_NO_MEM = enum_libusb_error.define('LIBUSB_ERROR_NO_MEM', -11)
|
||||
LIBUSB_ERROR_NOT_SUPPORTED = enum_libusb_error.define('LIBUSB_ERROR_NOT_SUPPORTED', -12)
|
||||
LIBUSB_ERROR_OTHER = enum_libusb_error.define('LIBUSB_ERROR_OTHER', -99)
|
||||
|
||||
class enum_libusb_transfer_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_TRANSFER_TYPE_CONTROL = enum_libusb_transfer_type.define('LIBUSB_TRANSFER_TYPE_CONTROL', 0)
|
||||
LIBUSB_TRANSFER_TYPE_ISOCHRONOUS = enum_libusb_transfer_type.define('LIBUSB_TRANSFER_TYPE_ISOCHRONOUS', 1)
|
||||
LIBUSB_TRANSFER_TYPE_BULK = enum_libusb_transfer_type.define('LIBUSB_TRANSFER_TYPE_BULK', 2)
|
||||
LIBUSB_TRANSFER_TYPE_INTERRUPT = enum_libusb_transfer_type.define('LIBUSB_TRANSFER_TYPE_INTERRUPT', 3)
|
||||
LIBUSB_TRANSFER_TYPE_BULK_STREAM = enum_libusb_transfer_type.define('LIBUSB_TRANSFER_TYPE_BULK_STREAM', 4)
|
||||
|
||||
class enum_libusb_transfer_status(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_TRANSFER_COMPLETED = enum_libusb_transfer_status.define('LIBUSB_TRANSFER_COMPLETED', 0)
|
||||
LIBUSB_TRANSFER_ERROR = enum_libusb_transfer_status.define('LIBUSB_TRANSFER_ERROR', 1)
|
||||
LIBUSB_TRANSFER_TIMED_OUT = enum_libusb_transfer_status.define('LIBUSB_TRANSFER_TIMED_OUT', 2)
|
||||
LIBUSB_TRANSFER_CANCELLED = enum_libusb_transfer_status.define('LIBUSB_TRANSFER_CANCELLED', 3)
|
||||
LIBUSB_TRANSFER_STALL = enum_libusb_transfer_status.define('LIBUSB_TRANSFER_STALL', 4)
|
||||
LIBUSB_TRANSFER_NO_DEVICE = enum_libusb_transfer_status.define('LIBUSB_TRANSFER_NO_DEVICE', 5)
|
||||
LIBUSB_TRANSFER_OVERFLOW = enum_libusb_transfer_status.define('LIBUSB_TRANSFER_OVERFLOW', 6)
|
||||
|
||||
class enum_libusb_transfer_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_TRANSFER_SHORT_NOT_OK = enum_libusb_transfer_flags.define('LIBUSB_TRANSFER_SHORT_NOT_OK', 1)
|
||||
LIBUSB_TRANSFER_FREE_BUFFER = enum_libusb_transfer_flags.define('LIBUSB_TRANSFER_FREE_BUFFER', 2)
|
||||
LIBUSB_TRANSFER_FREE_TRANSFER = enum_libusb_transfer_flags.define('LIBUSB_TRANSFER_FREE_TRANSFER', 4)
|
||||
LIBUSB_TRANSFER_ADD_ZERO_PACKET = enum_libusb_transfer_flags.define('LIBUSB_TRANSFER_ADD_ZERO_PACKET', 8)
|
||||
|
||||
enum_libusb_speed: dict[int, str] = {(LIBUSB_SPEED_UNKNOWN:=0): 'LIBUSB_SPEED_UNKNOWN', (LIBUSB_SPEED_LOW:=1): 'LIBUSB_SPEED_LOW', (LIBUSB_SPEED_FULL:=2): 'LIBUSB_SPEED_FULL', (LIBUSB_SPEED_HIGH:=3): 'LIBUSB_SPEED_HIGH', (LIBUSB_SPEED_SUPER:=4): 'LIBUSB_SPEED_SUPER', (LIBUSB_SPEED_SUPER_PLUS:=5): 'LIBUSB_SPEED_SUPER_PLUS'}
|
||||
enum_libusb_error: dict[int, str] = {(LIBUSB_SUCCESS:=0): 'LIBUSB_SUCCESS', (LIBUSB_ERROR_IO:=-1): 'LIBUSB_ERROR_IO', (LIBUSB_ERROR_INVALID_PARAM:=-2): 'LIBUSB_ERROR_INVALID_PARAM', (LIBUSB_ERROR_ACCESS:=-3): 'LIBUSB_ERROR_ACCESS', (LIBUSB_ERROR_NO_DEVICE:=-4): 'LIBUSB_ERROR_NO_DEVICE', (LIBUSB_ERROR_NOT_FOUND:=-5): 'LIBUSB_ERROR_NOT_FOUND', (LIBUSB_ERROR_BUSY:=-6): 'LIBUSB_ERROR_BUSY', (LIBUSB_ERROR_TIMEOUT:=-7): 'LIBUSB_ERROR_TIMEOUT', (LIBUSB_ERROR_OVERFLOW:=-8): 'LIBUSB_ERROR_OVERFLOW', (LIBUSB_ERROR_PIPE:=-9): 'LIBUSB_ERROR_PIPE', (LIBUSB_ERROR_INTERRUPTED:=-10): 'LIBUSB_ERROR_INTERRUPTED', (LIBUSB_ERROR_NO_MEM:=-11): 'LIBUSB_ERROR_NO_MEM', (LIBUSB_ERROR_NOT_SUPPORTED:=-12): 'LIBUSB_ERROR_NOT_SUPPORTED', (LIBUSB_ERROR_OTHER:=-99): 'LIBUSB_ERROR_OTHER'}
|
||||
enum_libusb_transfer_type: dict[int, str] = {(LIBUSB_TRANSFER_TYPE_CONTROL:=0): 'LIBUSB_TRANSFER_TYPE_CONTROL', (LIBUSB_TRANSFER_TYPE_ISOCHRONOUS:=1): 'LIBUSB_TRANSFER_TYPE_ISOCHRONOUS', (LIBUSB_TRANSFER_TYPE_BULK:=2): 'LIBUSB_TRANSFER_TYPE_BULK', (LIBUSB_TRANSFER_TYPE_INTERRUPT:=3): 'LIBUSB_TRANSFER_TYPE_INTERRUPT', (LIBUSB_TRANSFER_TYPE_BULK_STREAM:=4): 'LIBUSB_TRANSFER_TYPE_BULK_STREAM'}
|
||||
enum_libusb_transfer_status: dict[int, str] = {(LIBUSB_TRANSFER_COMPLETED:=0): 'LIBUSB_TRANSFER_COMPLETED', (LIBUSB_TRANSFER_ERROR:=1): 'LIBUSB_TRANSFER_ERROR', (LIBUSB_TRANSFER_TIMED_OUT:=2): 'LIBUSB_TRANSFER_TIMED_OUT', (LIBUSB_TRANSFER_CANCELLED:=3): 'LIBUSB_TRANSFER_CANCELLED', (LIBUSB_TRANSFER_STALL:=4): 'LIBUSB_TRANSFER_STALL', (LIBUSB_TRANSFER_NO_DEVICE:=5): 'LIBUSB_TRANSFER_NO_DEVICE', (LIBUSB_TRANSFER_OVERFLOW:=6): 'LIBUSB_TRANSFER_OVERFLOW'}
|
||||
enum_libusb_transfer_flags: dict[int, str] = {(LIBUSB_TRANSFER_SHORT_NOT_OK:=1): 'LIBUSB_TRANSFER_SHORT_NOT_OK', (LIBUSB_TRANSFER_FREE_BUFFER:=2): 'LIBUSB_TRANSFER_FREE_BUFFER', (LIBUSB_TRANSFER_FREE_TRANSFER:=4): 'LIBUSB_TRANSFER_FREE_TRANSFER', (LIBUSB_TRANSFER_ADD_ZERO_PACKET:=8): 'LIBUSB_TRANSFER_ADD_ZERO_PACKET'}
|
||||
@c.record
|
||||
class struct_libusb_iso_packet_descriptor(c.Struct):
|
||||
SIZE = 12
|
||||
length: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
actual_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
status: Annotated[enum_libusb_transfer_status, 8]
|
||||
length: int
|
||||
actual_length: int
|
||||
status: int
|
||||
struct_libusb_iso_packet_descriptor.register_fields([('length', ctypes.c_uint32, 0), ('actual_length', ctypes.c_uint32, 4), ('status', ctypes.c_uint32, 8)])
|
||||
@c.record
|
||||
class struct_libusb_transfer(c.Struct):
|
||||
SIZE = 64
|
||||
dev_handle: Annotated[c.POINTER[libusb_device_handle], 0]
|
||||
flags: Annotated[uint8_t, 8]
|
||||
endpoint: Annotated[Annotated[int, ctypes.c_ubyte], 9]
|
||||
type: Annotated[Annotated[int, ctypes.c_ubyte], 10]
|
||||
timeout: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
status: Annotated[enum_libusb_transfer_status, 16]
|
||||
length: Annotated[Annotated[int, ctypes.c_int32], 20]
|
||||
actual_length: Annotated[Annotated[int, ctypes.c_int32], 24]
|
||||
callback: Annotated[libusb_transfer_cb_fn, 32]
|
||||
user_data: Annotated[ctypes.c_void_p, 40]
|
||||
buffer: Annotated[c.POINTER[Annotated[int, ctypes.c_ubyte]], 48]
|
||||
num_iso_packets: Annotated[Annotated[int, ctypes.c_int32], 56]
|
||||
iso_packet_desc: Annotated[c.Array[struct_libusb_iso_packet_descriptor, Literal[0]], 60]
|
||||
dev_handle: c.POINTER[struct_libusb_device_handle]
|
||||
flags: int
|
||||
endpoint: int
|
||||
type: int
|
||||
timeout: int
|
||||
status: int
|
||||
length: int
|
||||
actual_length: int
|
||||
callback: c.CFUNCTYPE[None, [c.POINTER[struct_libusb_transfer]]]
|
||||
user_data: ctypes.c_void_p
|
||||
buffer: c.POINTER[ctypes.c_ubyte]
|
||||
num_iso_packets: int
|
||||
iso_packet_desc: c.Array[struct_libusb_iso_packet_descriptor, Literal[0]]
|
||||
libusb_transfer_cb_fn: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[struct_libusb_transfer]]]
|
||||
class enum_libusb_capability(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_CAP_HAS_CAPABILITY = enum_libusb_capability.define('LIBUSB_CAP_HAS_CAPABILITY', 0)
|
||||
LIBUSB_CAP_HAS_HOTPLUG = enum_libusb_capability.define('LIBUSB_CAP_HAS_HOTPLUG', 1)
|
||||
LIBUSB_CAP_HAS_HID_ACCESS = enum_libusb_capability.define('LIBUSB_CAP_HAS_HID_ACCESS', 256)
|
||||
LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER = enum_libusb_capability.define('LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER', 257)
|
||||
|
||||
class enum_libusb_log_level(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_LOG_LEVEL_NONE = enum_libusb_log_level.define('LIBUSB_LOG_LEVEL_NONE', 0)
|
||||
LIBUSB_LOG_LEVEL_ERROR = enum_libusb_log_level.define('LIBUSB_LOG_LEVEL_ERROR', 1)
|
||||
LIBUSB_LOG_LEVEL_WARNING = enum_libusb_log_level.define('LIBUSB_LOG_LEVEL_WARNING', 2)
|
||||
LIBUSB_LOG_LEVEL_INFO = enum_libusb_log_level.define('LIBUSB_LOG_LEVEL_INFO', 3)
|
||||
LIBUSB_LOG_LEVEL_DEBUG = enum_libusb_log_level.define('LIBUSB_LOG_LEVEL_DEBUG', 4)
|
||||
|
||||
class enum_libusb_log_cb_mode(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_LOG_CB_GLOBAL = enum_libusb_log_cb_mode.define('LIBUSB_LOG_CB_GLOBAL', 1)
|
||||
LIBUSB_LOG_CB_CONTEXT = enum_libusb_log_cb_mode.define('LIBUSB_LOG_CB_CONTEXT', 2)
|
||||
|
||||
class enum_libusb_option(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_OPTION_LOG_LEVEL = enum_libusb_option.define('LIBUSB_OPTION_LOG_LEVEL', 0)
|
||||
LIBUSB_OPTION_USE_USBDK = enum_libusb_option.define('LIBUSB_OPTION_USE_USBDK', 1)
|
||||
LIBUSB_OPTION_NO_DEVICE_DISCOVERY = enum_libusb_option.define('LIBUSB_OPTION_NO_DEVICE_DISCOVERY', 2)
|
||||
LIBUSB_OPTION_LOG_CB = enum_libusb_option.define('LIBUSB_OPTION_LOG_CB', 3)
|
||||
LIBUSB_OPTION_MAX = enum_libusb_option.define('LIBUSB_OPTION_MAX', 4)
|
||||
|
||||
libusb_log_cb: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[struct_libusb_context], enum_libusb_log_level, c.POINTER[Annotated[bytes, ctypes.c_char]]]]
|
||||
struct_libusb_transfer.register_fields([('dev_handle', c.POINTER[libusb_device_handle], 0), ('flags', uint8_t, 8), ('endpoint', ctypes.c_ubyte, 9), ('type', ctypes.c_ubyte, 10), ('timeout', ctypes.c_uint32, 12), ('status', ctypes.c_uint32, 16), ('length', ctypes.c_int32, 20), ('actual_length', ctypes.c_int32, 24), ('callback', libusb_transfer_cb_fn, 32), ('user_data', ctypes.c_void_p, 40), ('buffer', c.POINTER[ctypes.c_ubyte], 48), ('num_iso_packets', ctypes.c_int32, 56), ('iso_packet_desc', c.Array[struct_libusb_iso_packet_descriptor, Literal[0]], 60)])
|
||||
enum_libusb_capability: dict[int, str] = {(LIBUSB_CAP_HAS_CAPABILITY:=0): 'LIBUSB_CAP_HAS_CAPABILITY', (LIBUSB_CAP_HAS_HOTPLUG:=1): 'LIBUSB_CAP_HAS_HOTPLUG', (LIBUSB_CAP_HAS_HID_ACCESS:=256): 'LIBUSB_CAP_HAS_HID_ACCESS', (LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER:=257): 'LIBUSB_CAP_SUPPORTS_DETACH_KERNEL_DRIVER'}
|
||||
enum_libusb_log_level: dict[int, str] = {(LIBUSB_LOG_LEVEL_NONE:=0): 'LIBUSB_LOG_LEVEL_NONE', (LIBUSB_LOG_LEVEL_ERROR:=1): 'LIBUSB_LOG_LEVEL_ERROR', (LIBUSB_LOG_LEVEL_WARNING:=2): 'LIBUSB_LOG_LEVEL_WARNING', (LIBUSB_LOG_LEVEL_INFO:=3): 'LIBUSB_LOG_LEVEL_INFO', (LIBUSB_LOG_LEVEL_DEBUG:=4): 'LIBUSB_LOG_LEVEL_DEBUG'}
|
||||
enum_libusb_log_cb_mode: dict[int, str] = {(LIBUSB_LOG_CB_GLOBAL:=1): 'LIBUSB_LOG_CB_GLOBAL', (LIBUSB_LOG_CB_CONTEXT:=2): 'LIBUSB_LOG_CB_CONTEXT'}
|
||||
enum_libusb_option: dict[int, str] = {(LIBUSB_OPTION_LOG_LEVEL:=0): 'LIBUSB_OPTION_LOG_LEVEL', (LIBUSB_OPTION_USE_USBDK:=1): 'LIBUSB_OPTION_USE_USBDK', (LIBUSB_OPTION_NO_DEVICE_DISCOVERY:=2): 'LIBUSB_OPTION_NO_DEVICE_DISCOVERY', (LIBUSB_OPTION_LOG_CB:=3): 'LIBUSB_OPTION_LOG_CB', (LIBUSB_OPTION_MAX:=4): 'LIBUSB_OPTION_MAX'}
|
||||
libusb_log_cb: TypeAlias = c.CFUNCTYPE[None, [c.POINTER[struct_libusb_context], ctypes.c_uint32, c.POINTER[ctypes.c_char]]]
|
||||
@c.record
|
||||
class struct_libusb_init_option(c.Struct):
|
||||
SIZE = 16
|
||||
option: Annotated[enum_libusb_option, 0]
|
||||
value: Annotated[struct_libusb_init_option_value, 8]
|
||||
option: int
|
||||
value: struct_libusb_init_option_value
|
||||
@c.record
|
||||
class struct_libusb_init_option_value(c.Struct):
|
||||
SIZE = 8
|
||||
ival: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
log_cbval: Annotated[libusb_log_cb, 0]
|
||||
@dll.bind
|
||||
def libusb_init(ctx:c.POINTER[c.POINTER[libusb_context]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_init_context(ctx:c.POINTER[c.POINTER[libusb_context]], options:c.Array[struct_libusb_init_option, Literal[0]], num_options:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
ival: int
|
||||
log_cbval: c.CFUNCTYPE[None, [c.POINTER[struct_libusb_context], ctypes.c_uint32, c.POINTER[ctypes.c_char]]]
|
||||
struct_libusb_init_option_value.register_fields([('ival', ctypes.c_int32, 0), ('log_cbval', libusb_log_cb, 0)])
|
||||
struct_libusb_init_option.register_fields([('option', ctypes.c_uint32, 0), ('value', struct_libusb_init_option_value, 8)])
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[c.POINTER[libusb_context]])
|
||||
def libusb_init(ctx:c.POINTER[c.POINTER[libusb_context]]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[c.POINTER[libusb_context]], c.Array[struct_libusb_init_option, Literal[0]], ctypes.c_int32)
|
||||
def libusb_init_context(ctx:c.POINTER[c.POINTER[libusb_context]], options:c.Array[struct_libusb_init_option, Literal[0]], num_options:int) -> int: ...
|
||||
@dll.bind(None, c.POINTER[libusb_context])
|
||||
def libusb_exit(ctx:c.POINTER[libusb_context]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_set_debug(ctx:c.POINTER[libusb_context], level:Annotated[int, ctypes.c_int32]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_set_log_cb(ctx:c.POINTER[libusb_context], cb:libusb_log_cb, mode:Annotated[int, ctypes.c_int32]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[libusb_context], ctypes.c_int32)
|
||||
def libusb_set_debug(ctx:c.POINTER[libusb_context], level:int) -> None: ...
|
||||
@dll.bind(None, c.POINTER[libusb_context], libusb_log_cb, ctypes.c_int32)
|
||||
def libusb_set_log_cb(ctx:c.POINTER[libusb_context], cb:libusb_log_cb, mode:int) -> None: ...
|
||||
@dll.bind(c.POINTER[struct_libusb_version])
|
||||
def libusb_get_version() -> c.POINTER[struct_libusb_version]: ...
|
||||
@dll.bind
|
||||
def libusb_has_capability(capability:uint32_t) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_error_name(errcode:Annotated[int, ctypes.c_int32]) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
||||
@dll.bind
|
||||
def libusb_setlocale(locale:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_strerror(errcode:Annotated[int, ctypes.c_int32]) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
||||
ssize_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, uint32_t)
|
||||
def libusb_has_capability(capability:uint32_t) -> int: ...
|
||||
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_int32)
|
||||
def libusb_error_name(errcode:int) -> c.POINTER[ctypes.c_char]: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[ctypes.c_char])
|
||||
def libusb_setlocale(locale:c.POINTER[ctypes.c_char]) -> int: ...
|
||||
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_int32)
|
||||
def libusb_strerror(errcode:int) -> c.POINTER[ctypes.c_char]: ...
|
||||
ssize_t: TypeAlias = ctypes.c_int64
|
||||
@dll.bind(ssize_t, c.POINTER[libusb_context], c.POINTER[c.POINTER[c.POINTER[libusb_device]]])
|
||||
def libusb_get_device_list(ctx:c.POINTER[libusb_context], list:c.POINTER[c.POINTER[c.POINTER[libusb_device]]]) -> ssize_t: ...
|
||||
@dll.bind
|
||||
def libusb_free_device_list(list:c.POINTER[c.POINTER[libusb_device]], unref_devices:Annotated[int, ctypes.c_int32]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[c.POINTER[libusb_device]], ctypes.c_int32)
|
||||
def libusb_free_device_list(list:c.POINTER[c.POINTER[libusb_device]], unref_devices:int) -> None: ...
|
||||
@dll.bind(c.POINTER[libusb_device], c.POINTER[libusb_device])
|
||||
def libusb_ref_device(dev:c.POINTER[libusb_device]) -> c.POINTER[libusb_device]: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[libusb_device])
|
||||
def libusb_unref_device(dev:c.POINTER[libusb_device]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_get_configuration(dev:c.POINTER[libusb_device_handle], config:c.POINTER[Annotated[int, ctypes.c_int32]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_device_descriptor(dev:c.POINTER[libusb_device], desc:c.POINTER[struct_libusb_device_descriptor]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_active_config_descriptor(dev:c.POINTER[libusb_device], config:c.POINTER[c.POINTER[struct_libusb_config_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_config_descriptor(dev:c.POINTER[libusb_device], config_index:uint8_t, config:c.POINTER[c.POINTER[struct_libusb_config_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_config_descriptor_by_value(dev:c.POINTER[libusb_device], bConfigurationValue:uint8_t, config:c.POINTER[c.POINTER[struct_libusb_config_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], c.POINTER[ctypes.c_int32])
|
||||
def libusb_get_configuration(dev:c.POINTER[libusb_device_handle], config:c.POINTER[ctypes.c_int32]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], c.POINTER[struct_libusb_device_descriptor])
|
||||
def libusb_get_device_descriptor(dev:c.POINTER[libusb_device], desc:c.POINTER[struct_libusb_device_descriptor]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], c.POINTER[c.POINTER[struct_libusb_config_descriptor]])
|
||||
def libusb_get_active_config_descriptor(dev:c.POINTER[libusb_device], config:c.POINTER[c.POINTER[struct_libusb_config_descriptor]]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], uint8_t, c.POINTER[c.POINTER[struct_libusb_config_descriptor]])
|
||||
def libusb_get_config_descriptor(dev:c.POINTER[libusb_device], config_index:uint8_t, config:c.POINTER[c.POINTER[struct_libusb_config_descriptor]]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], uint8_t, c.POINTER[c.POINTER[struct_libusb_config_descriptor]])
|
||||
def libusb_get_config_descriptor_by_value(dev:c.POINTER[libusb_device], bConfigurationValue:uint8_t, config:c.POINTER[c.POINTER[struct_libusb_config_descriptor]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_config_descriptor])
|
||||
def libusb_free_config_descriptor(config:c.POINTER[struct_libusb_config_descriptor]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_get_ss_endpoint_companion_descriptor(ctx:c.POINTER[libusb_context], endpoint:c.POINTER[struct_libusb_endpoint_descriptor], ep_comp:c.POINTER[c.POINTER[struct_libusb_ss_endpoint_companion_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_libusb_endpoint_descriptor], c.POINTER[c.POINTER[struct_libusb_ss_endpoint_companion_descriptor]])
|
||||
def libusb_get_ss_endpoint_companion_descriptor(ctx:c.POINTER[libusb_context], endpoint:c.POINTER[struct_libusb_endpoint_descriptor], ep_comp:c.POINTER[c.POINTER[struct_libusb_ss_endpoint_companion_descriptor]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_ss_endpoint_companion_descriptor])
|
||||
def libusb_free_ss_endpoint_companion_descriptor(ep_comp:c.POINTER[struct_libusb_ss_endpoint_companion_descriptor]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_get_bos_descriptor(dev_handle:c.POINTER[libusb_device_handle], bos:c.POINTER[c.POINTER[struct_libusb_bos_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], c.POINTER[c.POINTER[struct_libusb_bos_descriptor]])
|
||||
def libusb_get_bos_descriptor(dev_handle:c.POINTER[libusb_device_handle], bos:c.POINTER[c.POINTER[struct_libusb_bos_descriptor]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_bos_descriptor])
|
||||
def libusb_free_bos_descriptor(bos:c.POINTER[struct_libusb_bos_descriptor]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_get_usb_2_0_extension_descriptor(ctx:c.POINTER[libusb_context], dev_cap:c.POINTER[struct_libusb_bos_dev_capability_descriptor], usb_2_0_extension:c.POINTER[c.POINTER[struct_libusb_usb_2_0_extension_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_libusb_bos_dev_capability_descriptor], c.POINTER[c.POINTER[struct_libusb_usb_2_0_extension_descriptor]])
|
||||
def libusb_get_usb_2_0_extension_descriptor(ctx:c.POINTER[libusb_context], dev_cap:c.POINTER[struct_libusb_bos_dev_capability_descriptor], usb_2_0_extension:c.POINTER[c.POINTER[struct_libusb_usb_2_0_extension_descriptor]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_usb_2_0_extension_descriptor])
|
||||
def libusb_free_usb_2_0_extension_descriptor(usb_2_0_extension:c.POINTER[struct_libusb_usb_2_0_extension_descriptor]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_get_ss_usb_device_capability_descriptor(ctx:c.POINTER[libusb_context], dev_cap:c.POINTER[struct_libusb_bos_dev_capability_descriptor], ss_usb_device_cap:c.POINTER[c.POINTER[struct_libusb_ss_usb_device_capability_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_libusb_bos_dev_capability_descriptor], c.POINTER[c.POINTER[struct_libusb_ss_usb_device_capability_descriptor]])
|
||||
def libusb_get_ss_usb_device_capability_descriptor(ctx:c.POINTER[libusb_context], dev_cap:c.POINTER[struct_libusb_bos_dev_capability_descriptor], ss_usb_device_cap:c.POINTER[c.POINTER[struct_libusb_ss_usb_device_capability_descriptor]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_ss_usb_device_capability_descriptor])
|
||||
def libusb_free_ss_usb_device_capability_descriptor(ss_usb_device_cap:c.POINTER[struct_libusb_ss_usb_device_capability_descriptor]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_get_container_id_descriptor(ctx:c.POINTER[libusb_context], dev_cap:c.POINTER[struct_libusb_bos_dev_capability_descriptor], container_id:c.POINTER[c.POINTER[struct_libusb_container_id_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_libusb_bos_dev_capability_descriptor], c.POINTER[c.POINTER[struct_libusb_container_id_descriptor]])
|
||||
def libusb_get_container_id_descriptor(ctx:c.POINTER[libusb_context], dev_cap:c.POINTER[struct_libusb_bos_dev_capability_descriptor], container_id:c.POINTER[c.POINTER[struct_libusb_container_id_descriptor]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_container_id_descriptor])
|
||||
def libusb_free_container_id_descriptor(container_id:c.POINTER[struct_libusb_container_id_descriptor]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_get_platform_descriptor(ctx:c.POINTER[libusb_context], dev_cap:c.POINTER[struct_libusb_bos_dev_capability_descriptor], platform_descriptor:c.POINTER[c.POINTER[struct_libusb_platform_descriptor]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_libusb_bos_dev_capability_descriptor], c.POINTER[c.POINTER[struct_libusb_platform_descriptor]])
|
||||
def libusb_get_platform_descriptor(ctx:c.POINTER[libusb_context], dev_cap:c.POINTER[struct_libusb_bos_dev_capability_descriptor], platform_descriptor:c.POINTER[c.POINTER[struct_libusb_platform_descriptor]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_platform_descriptor])
|
||||
def libusb_free_platform_descriptor(platform_descriptor:c.POINTER[struct_libusb_platform_descriptor]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(uint8_t, c.POINTER[libusb_device])
|
||||
def libusb_get_bus_number(dev:c.POINTER[libusb_device]) -> uint8_t: ...
|
||||
@dll.bind
|
||||
@dll.bind(uint8_t, c.POINTER[libusb_device])
|
||||
def libusb_get_port_number(dev:c.POINTER[libusb_device]) -> uint8_t: ...
|
||||
@dll.bind
|
||||
def libusb_get_port_numbers(dev:c.POINTER[libusb_device], port_numbers:c.POINTER[uint8_t], port_numbers_len:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_port_path(ctx:c.POINTER[libusb_context], dev:c.POINTER[libusb_device], path:c.POINTER[uint8_t], path_length:uint8_t) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], c.POINTER[uint8_t], ctypes.c_int32)
|
||||
def libusb_get_port_numbers(dev:c.POINTER[libusb_device], port_numbers:c.POINTER[uint8_t], port_numbers_len:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[libusb_device], c.POINTER[uint8_t], uint8_t)
|
||||
def libusb_get_port_path(ctx:c.POINTER[libusb_context], dev:c.POINTER[libusb_device], path:c.POINTER[uint8_t], path_length:uint8_t) -> int: ...
|
||||
@dll.bind(c.POINTER[libusb_device], c.POINTER[libusb_device])
|
||||
def libusb_get_parent(dev:c.POINTER[libusb_device]) -> c.POINTER[libusb_device]: ...
|
||||
@dll.bind
|
||||
@dll.bind(uint8_t, c.POINTER[libusb_device])
|
||||
def libusb_get_device_address(dev:c.POINTER[libusb_device]) -> uint8_t: ...
|
||||
@dll.bind
|
||||
def libusb_get_device_speed(dev:c.POINTER[libusb_device]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_max_packet_size(dev:c.POINTER[libusb_device], endpoint:Annotated[int, ctypes.c_ubyte]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_max_iso_packet_size(dev:c.POINTER[libusb_device], endpoint:Annotated[int, ctypes.c_ubyte]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_max_alt_packet_size(dev:c.POINTER[libusb_device], interface_number:Annotated[int, ctypes.c_int32], alternate_setting:Annotated[int, ctypes.c_int32], endpoint:Annotated[int, ctypes.c_ubyte]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_interface_association_descriptors(dev:c.POINTER[libusb_device], config_index:uint8_t, iad_array:c.POINTER[c.POINTER[struct_libusb_interface_association_descriptor_array]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_active_interface_association_descriptors(dev:c.POINTER[libusb_device], iad_array:c.POINTER[c.POINTER[struct_libusb_interface_association_descriptor_array]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device])
|
||||
def libusb_get_device_speed(dev:c.POINTER[libusb_device]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], ctypes.c_ubyte)
|
||||
def libusb_get_max_packet_size(dev:c.POINTER[libusb_device], endpoint:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], ctypes.c_ubyte)
|
||||
def libusb_get_max_iso_packet_size(dev:c.POINTER[libusb_device], endpoint:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], ctypes.c_int32, ctypes.c_int32, ctypes.c_ubyte)
|
||||
def libusb_get_max_alt_packet_size(dev:c.POINTER[libusb_device], interface_number:int, alternate_setting:int, endpoint:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], uint8_t, c.POINTER[c.POINTER[struct_libusb_interface_association_descriptor_array]])
|
||||
def libusb_get_interface_association_descriptors(dev:c.POINTER[libusb_device], config_index:uint8_t, iad_array:c.POINTER[c.POINTER[struct_libusb_interface_association_descriptor_array]]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], c.POINTER[c.POINTER[struct_libusb_interface_association_descriptor_array]])
|
||||
def libusb_get_active_interface_association_descriptors(dev:c.POINTER[libusb_device], iad_array:c.POINTER[c.POINTER[struct_libusb_interface_association_descriptor_array]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_interface_association_descriptor_array])
|
||||
def libusb_free_interface_association_descriptors(iad_array:c.POINTER[struct_libusb_interface_association_descriptor_array]) -> None: ...
|
||||
intptr_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
@dll.bind
|
||||
def libusb_wrap_sys_device(ctx:c.POINTER[libusb_context], sys_dev:intptr_t, dev_handle:c.POINTER[c.POINTER[libusb_device_handle]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_open(dev:c.POINTER[libusb_device], dev_handle:c.POINTER[c.POINTER[libusb_device_handle]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
intptr_t: TypeAlias = ctypes.c_int64
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], intptr_t, c.POINTER[c.POINTER[libusb_device_handle]])
|
||||
def libusb_wrap_sys_device(ctx:c.POINTER[libusb_context], sys_dev:intptr_t, dev_handle:c.POINTER[c.POINTER[libusb_device_handle]]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device], c.POINTER[c.POINTER[libusb_device_handle]])
|
||||
def libusb_open(dev:c.POINTER[libusb_device], dev_handle:c.POINTER[c.POINTER[libusb_device_handle]]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[libusb_device_handle])
|
||||
def libusb_close(dev_handle:c.POINTER[libusb_device_handle]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(c.POINTER[libusb_device], c.POINTER[libusb_device_handle])
|
||||
def libusb_get_device(dev_handle:c.POINTER[libusb_device_handle]) -> c.POINTER[libusb_device]: ...
|
||||
@dll.bind
|
||||
def libusb_set_configuration(dev_handle:c.POINTER[libusb_device_handle], configuration:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_claim_interface(dev_handle:c.POINTER[libusb_device_handle], interface_number:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_release_interface(dev_handle:c.POINTER[libusb_device_handle], interface_number:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_int32)
|
||||
def libusb_set_configuration(dev_handle:c.POINTER[libusb_device_handle], configuration:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_int32)
|
||||
def libusb_claim_interface(dev_handle:c.POINTER[libusb_device_handle], interface_number:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_int32)
|
||||
def libusb_release_interface(dev_handle:c.POINTER[libusb_device_handle], interface_number:int) -> int: ...
|
||||
@dll.bind(c.POINTER[libusb_device_handle], c.POINTER[libusb_context], uint16_t, uint16_t)
|
||||
def libusb_open_device_with_vid_pid(ctx:c.POINTER[libusb_context], vendor_id:uint16_t, product_id:uint16_t) -> c.POINTER[libusb_device_handle]: ...
|
||||
@dll.bind
|
||||
def libusb_set_interface_alt_setting(dev_handle:c.POINTER[libusb_device_handle], interface_number:Annotated[int, ctypes.c_int32], alternate_setting:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_clear_halt(dev_handle:c.POINTER[libusb_device_handle], endpoint:Annotated[int, ctypes.c_ubyte]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_reset_device(dev_handle:c.POINTER[libusb_device_handle]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_alloc_streams(dev_handle:c.POINTER[libusb_device_handle], num_streams:uint32_t, endpoints:c.POINTER[Annotated[int, ctypes.c_ubyte]], num_endpoints:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_free_streams(dev_handle:c.POINTER[libusb_device_handle], endpoints:c.POINTER[Annotated[int, ctypes.c_ubyte]], num_endpoints:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
def libusb_dev_mem_alloc(dev_handle:c.POINTER[libusb_device_handle], length:size_t) -> c.POINTER[Annotated[int, ctypes.c_ubyte]]: ...
|
||||
@dll.bind
|
||||
def libusb_dev_mem_free(dev_handle:c.POINTER[libusb_device_handle], buffer:c.POINTER[Annotated[int, ctypes.c_ubyte]], length:size_t) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_kernel_driver_active(dev_handle:c.POINTER[libusb_device_handle], interface_number:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_detach_kernel_driver(dev_handle:c.POINTER[libusb_device_handle], interface_number:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_attach_kernel_driver(dev_handle:c.POINTER[libusb_device_handle], interface_number:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_set_auto_detach_kernel_driver(dev_handle:c.POINTER[libusb_device_handle], enable:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_alloc_transfer(iso_packets:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_libusb_transfer]: ...
|
||||
@dll.bind
|
||||
def libusb_submit_transfer(transfer:c.POINTER[struct_libusb_transfer]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_cancel_transfer(transfer:c.POINTER[struct_libusb_transfer]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_int32, ctypes.c_int32)
|
||||
def libusb_set_interface_alt_setting(dev_handle:c.POINTER[libusb_device_handle], interface_number:int, alternate_setting:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_ubyte)
|
||||
def libusb_clear_halt(dev_handle:c.POINTER[libusb_device_handle], endpoint:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle])
|
||||
def libusb_reset_device(dev_handle:c.POINTER[libusb_device_handle]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], uint32_t, c.POINTER[ctypes.c_ubyte], ctypes.c_int32)
|
||||
def libusb_alloc_streams(dev_handle:c.POINTER[libusb_device_handle], num_streams:uint32_t, endpoints:c.POINTER[ctypes.c_ubyte], num_endpoints:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], c.POINTER[ctypes.c_ubyte], ctypes.c_int32)
|
||||
def libusb_free_streams(dev_handle:c.POINTER[libusb_device_handle], endpoints:c.POINTER[ctypes.c_ubyte], num_endpoints:int) -> int: ...
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(c.POINTER[ctypes.c_ubyte], c.POINTER[libusb_device_handle], size_t)
|
||||
def libusb_dev_mem_alloc(dev_handle:c.POINTER[libusb_device_handle], length:size_t) -> c.POINTER[ctypes.c_ubyte]: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], c.POINTER[ctypes.c_ubyte], size_t)
|
||||
def libusb_dev_mem_free(dev_handle:c.POINTER[libusb_device_handle], buffer:c.POINTER[ctypes.c_ubyte], length:size_t) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_int32)
|
||||
def libusb_kernel_driver_active(dev_handle:c.POINTER[libusb_device_handle], interface_number:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_int32)
|
||||
def libusb_detach_kernel_driver(dev_handle:c.POINTER[libusb_device_handle], interface_number:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_int32)
|
||||
def libusb_attach_kernel_driver(dev_handle:c.POINTER[libusb_device_handle], interface_number:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_int32)
|
||||
def libusb_set_auto_detach_kernel_driver(dev_handle:c.POINTER[libusb_device_handle], enable:int) -> int: ...
|
||||
@dll.bind(c.POINTER[struct_libusb_transfer], ctypes.c_int32)
|
||||
def libusb_alloc_transfer(iso_packets:int) -> c.POINTER[struct_libusb_transfer]: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[struct_libusb_transfer])
|
||||
def libusb_submit_transfer(transfer:c.POINTER[struct_libusb_transfer]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[struct_libusb_transfer])
|
||||
def libusb_cancel_transfer(transfer:c.POINTER[struct_libusb_transfer]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[struct_libusb_transfer])
|
||||
def libusb_free_transfer(transfer:c.POINTER[struct_libusb_transfer]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[struct_libusb_transfer], uint32_t)
|
||||
def libusb_transfer_set_stream_id(transfer:c.POINTER[struct_libusb_transfer], stream_id:uint32_t) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(uint32_t, c.POINTER[struct_libusb_transfer])
|
||||
def libusb_transfer_get_stream_id(transfer:c.POINTER[struct_libusb_transfer]) -> uint32_t: ...
|
||||
@dll.bind
|
||||
def libusb_control_transfer(dev_handle:c.POINTER[libusb_device_handle], request_type:uint8_t, bRequest:uint8_t, wValue:uint16_t, wIndex:uint16_t, data:c.POINTER[Annotated[int, ctypes.c_ubyte]], wLength:uint16_t, timeout:Annotated[int, ctypes.c_uint32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_bulk_transfer(dev_handle:c.POINTER[libusb_device_handle], endpoint:Annotated[int, ctypes.c_ubyte], data:c.POINTER[Annotated[int, ctypes.c_ubyte]], length:Annotated[int, ctypes.c_int32], actual_length:c.POINTER[Annotated[int, ctypes.c_int32]], timeout:Annotated[int, ctypes.c_uint32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_interrupt_transfer(dev_handle:c.POINTER[libusb_device_handle], endpoint:Annotated[int, ctypes.c_ubyte], data:c.POINTER[Annotated[int, ctypes.c_ubyte]], length:Annotated[int, ctypes.c_int32], actual_length:c.POINTER[Annotated[int, ctypes.c_int32]], timeout:Annotated[int, ctypes.c_uint32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_string_descriptor_ascii(dev_handle:c.POINTER[libusb_device_handle], desc_index:uint8_t, data:c.POINTER[Annotated[int, ctypes.c_ubyte]], length:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_try_lock_events(ctx:c.POINTER[libusb_context]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], uint8_t, uint8_t, uint16_t, uint16_t, c.POINTER[ctypes.c_ubyte], uint16_t, ctypes.c_uint32)
|
||||
def libusb_control_transfer(dev_handle:c.POINTER[libusb_device_handle], request_type:uint8_t, bRequest:uint8_t, wValue:uint16_t, wIndex:uint16_t, data:c.POINTER[ctypes.c_ubyte], wLength:uint16_t, timeout:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_ubyte, c.POINTER[ctypes.c_ubyte], ctypes.c_int32, c.POINTER[ctypes.c_int32], ctypes.c_uint32)
|
||||
def libusb_bulk_transfer(dev_handle:c.POINTER[libusb_device_handle], endpoint:int, data:c.POINTER[ctypes.c_ubyte], length:int, actual_length:c.POINTER[ctypes.c_int32], timeout:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], ctypes.c_ubyte, c.POINTER[ctypes.c_ubyte], ctypes.c_int32, c.POINTER[ctypes.c_int32], ctypes.c_uint32)
|
||||
def libusb_interrupt_transfer(dev_handle:c.POINTER[libusb_device_handle], endpoint:int, data:c.POINTER[ctypes.c_ubyte], length:int, actual_length:c.POINTER[ctypes.c_int32], timeout:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_device_handle], uint8_t, c.POINTER[ctypes.c_ubyte], ctypes.c_int32)
|
||||
def libusb_get_string_descriptor_ascii(dev_handle:c.POINTER[libusb_device_handle], desc_index:uint8_t, data:c.POINTER[ctypes.c_ubyte], length:int) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context])
|
||||
def libusb_try_lock_events(ctx:c.POINTER[libusb_context]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[libusb_context])
|
||||
def libusb_lock_events(ctx:c.POINTER[libusb_context]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[libusb_context])
|
||||
def libusb_unlock_events(ctx:c.POINTER[libusb_context]) -> None: ...
|
||||
@dll.bind
|
||||
def libusb_event_handling_ok(ctx:c.POINTER[libusb_context]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_event_handler_active(ctx:c.POINTER[libusb_context]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context])
|
||||
def libusb_event_handling_ok(ctx:c.POINTER[libusb_context]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context])
|
||||
def libusb_event_handler_active(ctx:c.POINTER[libusb_context]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[libusb_context])
|
||||
def libusb_interrupt_event_handler(ctx:c.POINTER[libusb_context]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[libusb_context])
|
||||
def libusb_lock_event_waiters(ctx:c.POINTER[libusb_context]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[libusb_context])
|
||||
def libusb_unlock_event_waiters(ctx:c.POINTER[libusb_context]) -> None: ...
|
||||
@c.record
|
||||
class struct_timeval(c.Struct):
|
||||
SIZE = 16
|
||||
tv_sec: Annotated[Annotated[int, ctypes.c_int64], 0]
|
||||
tv_usec: Annotated[Annotated[int, ctypes.c_int64], 8]
|
||||
__time_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
__suseconds_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
@dll.bind
|
||||
def libusb_wait_for_event(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_handle_events_timeout(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_handle_events_timeout_completed(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval], completed:c.POINTER[Annotated[int, ctypes.c_int32]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_handle_events(ctx:c.POINTER[libusb_context]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_handle_events_completed(ctx:c.POINTER[libusb_context], completed:c.POINTER[Annotated[int, ctypes.c_int32]]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_handle_events_locked(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_pollfds_handle_timeouts(ctx:c.POINTER[libusb_context]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
def libusb_get_next_timeout(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
tv_sec: int
|
||||
tv_usec: int
|
||||
__time_t: TypeAlias = ctypes.c_int64
|
||||
__suseconds_t: TypeAlias = ctypes.c_int64
|
||||
struct_timeval.register_fields([('tv_sec', ctypes.c_int64, 0), ('tv_usec', ctypes.c_int64, 8)])
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_timeval])
|
||||
def libusb_wait_for_event(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_timeval])
|
||||
def libusb_handle_events_timeout(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_timeval], c.POINTER[ctypes.c_int32])
|
||||
def libusb_handle_events_timeout_completed(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval], completed:c.POINTER[ctypes.c_int32]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context])
|
||||
def libusb_handle_events(ctx:c.POINTER[libusb_context]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[ctypes.c_int32])
|
||||
def libusb_handle_events_completed(ctx:c.POINTER[libusb_context], completed:c.POINTER[ctypes.c_int32]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_timeval])
|
||||
def libusb_handle_events_locked(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context])
|
||||
def libusb_pollfds_handle_timeouts(ctx:c.POINTER[libusb_context]) -> int: ...
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], c.POINTER[struct_timeval])
|
||||
def libusb_get_next_timeout(ctx:c.POINTER[libusb_context], tv:c.POINTER[struct_timeval]) -> int: ...
|
||||
@c.record
|
||||
class struct_libusb_pollfd(c.Struct):
|
||||
SIZE = 8
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
events: Annotated[Annotated[int, ctypes.c_int16], 4]
|
||||
libusb_pollfd_added_cb: TypeAlias = c.CFUNCTYPE[None, [Annotated[int, ctypes.c_int32], Annotated[int, ctypes.c_int16], ctypes.c_void_p]]
|
||||
libusb_pollfd_removed_cb: TypeAlias = c.CFUNCTYPE[None, [Annotated[int, ctypes.c_int32], ctypes.c_void_p]]
|
||||
@dll.bind
|
||||
fd: int
|
||||
events: int
|
||||
struct_libusb_pollfd.register_fields([('fd', ctypes.c_int32, 0), ('events', ctypes.c_int16, 4)])
|
||||
libusb_pollfd_added_cb: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_int32, ctypes.c_int16, ctypes.c_void_p]]
|
||||
libusb_pollfd_removed_cb: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_int32, ctypes.c_void_p]]
|
||||
@dll.bind(c.POINTER[c.POINTER[struct_libusb_pollfd]], c.POINTER[libusb_context])
|
||||
def libusb_get_pollfds(ctx:c.POINTER[libusb_context]) -> c.POINTER[c.POINTER[struct_libusb_pollfd]]: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[c.POINTER[struct_libusb_pollfd]])
|
||||
def libusb_free_pollfds(pollfds:c.POINTER[c.POINTER[struct_libusb_pollfd]]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, c.POINTER[libusb_context], libusb_pollfd_added_cb, libusb_pollfd_removed_cb, ctypes.c_void_p)
|
||||
def libusb_set_pollfd_notifiers(ctx:c.POINTER[libusb_context], added_cb:libusb_pollfd_added_cb, removed_cb:libusb_pollfd_removed_cb, user_data:ctypes.c_void_p) -> None: ...
|
||||
libusb_hotplug_callback_handle: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
class libusb_hotplug_event(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED = libusb_hotplug_event.define('LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED', 1)
|
||||
LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT = libusb_hotplug_event.define('LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT', 2)
|
||||
|
||||
class libusb_hotplug_flag(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
LIBUSB_HOTPLUG_ENUMERATE = libusb_hotplug_flag.define('LIBUSB_HOTPLUG_ENUMERATE', 1)
|
||||
|
||||
libusb_hotplug_callback_fn: TypeAlias = c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_libusb_context], c.POINTER[struct_libusb_device], libusb_hotplug_event, ctypes.c_void_p]]
|
||||
@dll.bind
|
||||
def libusb_hotplug_register_callback(ctx:c.POINTER[libusb_context], events:Annotated[int, ctypes.c_int32], flags:Annotated[int, ctypes.c_int32], vendor_id:Annotated[int, ctypes.c_int32], product_id:Annotated[int, ctypes.c_int32], dev_class:Annotated[int, ctypes.c_int32], cb_fn:libusb_hotplug_callback_fn, user_data:ctypes.c_void_p, callback_handle:c.POINTER[libusb_hotplug_callback_handle]) -> Annotated[int, ctypes.c_int32]: ...
|
||||
@dll.bind
|
||||
libusb_hotplug_callback_handle: TypeAlias = ctypes.c_int32
|
||||
libusb_hotplug_event: dict[int, str] = {(LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED:=1): 'LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED', (LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT:=2): 'LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT'}
|
||||
libusb_hotplug_flag: dict[int, str] = {(LIBUSB_HOTPLUG_ENUMERATE:=1): 'LIBUSB_HOTPLUG_ENUMERATE'}
|
||||
libusb_hotplug_callback_fn: TypeAlias = c.CFUNCTYPE[ctypes.c_int32, [c.POINTER[struct_libusb_context], c.POINTER[struct_libusb_device], ctypes.c_uint32, ctypes.c_void_p]]
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, libusb_hotplug_callback_fn, ctypes.c_void_p, c.POINTER[libusb_hotplug_callback_handle])
|
||||
def libusb_hotplug_register_callback(ctx:c.POINTER[libusb_context], events:int, flags:int, vendor_id:int, product_id:int, dev_class:int, cb_fn:libusb_hotplug_callback_fn, user_data:ctypes.c_void_p, callback_handle:c.POINTER[libusb_hotplug_callback_handle]) -> int: ...
|
||||
@dll.bind(None, c.POINTER[libusb_context], libusb_hotplug_callback_handle)
|
||||
def libusb_hotplug_deregister_callback(ctx:c.POINTER[libusb_context], callback_handle:libusb_hotplug_callback_handle) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_void_p, c.POINTER[libusb_context], libusb_hotplug_callback_handle)
|
||||
def libusb_hotplug_get_user_data(ctx:c.POINTER[libusb_context], callback_handle:libusb_hotplug_callback_handle) -> ctypes.c_void_p: ...
|
||||
@dll.bind
|
||||
def libusb_set_option(ctx:c.POINTER[libusb_context], option:enum_libusb_option) -> Annotated[int, ctypes.c_int32]: ...
|
||||
c.init_records()
|
||||
@dll.bind(ctypes.c_int32, c.POINTER[libusb_context], ctypes.c_uint32)
|
||||
def libusb_set_option(ctx:c.POINTER[libusb_context], option:ctypes.c_uint32) -> int: ...
|
||||
LIBUSB_DEPRECATED_FOR = lambda f: __attribute__ ((deprecated)) # type: ignore
|
||||
LIBUSB_API_VERSION = 0x0100010A # type: ignore
|
||||
LIBUSBX_API_VERSION = LIBUSB_API_VERSION # type: ignore
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,96 +1,98 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
dll = c.DLL('llvm_qcom', 'llvm-qcom')
|
||||
cl_llvm_instance: TypeAlias = ctypes.c_void_p
|
||||
@dll.bind
|
||||
@dll.bind(cl_llvm_instance)
|
||||
def cl_compiler_create_llvm_instance() -> cl_llvm_instance: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, cl_llvm_instance)
|
||||
def cl_compiler_destroy_llvm_instance(inst:cl_llvm_instance) -> None: ...
|
||||
class enum_cl_handle_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
CL_HANDLE_COMPILED = enum_cl_handle_type.define('CL_HANDLE_COMPILED', 1)
|
||||
CL_HANDLE_LIBRARY = enum_cl_handle_type.define('CL_HANDLE_LIBRARY', 2)
|
||||
CL_HANDLE_LINKED = enum_cl_handle_type.define('CL_HANDLE_LINKED', 3)
|
||||
|
||||
enum_cl_handle_type: dict[int, str] = {(CL_HANDLE_COMPILED:=1): 'CL_HANDLE_COMPILED', (CL_HANDLE_LIBRARY:=2): 'CL_HANDLE_LIBRARY', (CL_HANDLE_LINKED:=3): 'CL_HANDLE_LINKED'}
|
||||
@c.record
|
||||
class struct_cl_compiled_data(c.Struct):
|
||||
SIZE = 48
|
||||
chip_id: Annotated[uint64_t, 0]
|
||||
mode: Annotated[uint32_t, 8]
|
||||
llvm_bitcode: Annotated[ctypes.c_void_p, 16]
|
||||
llvm_bitcode_size: Annotated[uint64_t, 24]
|
||||
build_log: Annotated[c.POINTER[Annotated[bytes, ctypes.c_char]], 32]
|
||||
build_log_len: Annotated[uint32_t, 40]
|
||||
error_code: Annotated[uint32_t, 44]
|
||||
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
chip_id: int
|
||||
mode: int
|
||||
llvm_bitcode: ctypes.c_void_p
|
||||
llvm_bitcode_size: int
|
||||
build_log: c.POINTER[ctypes.c_char]
|
||||
build_log_len: int
|
||||
error_code: int
|
||||
uint64_t: TypeAlias = ctypes.c_uint64
|
||||
uint32_t: TypeAlias = ctypes.c_uint32
|
||||
struct_cl_compiled_data.register_fields([('chip_id', uint64_t, 0), ('mode', uint32_t, 8), ('llvm_bitcode', ctypes.c_void_p, 16), ('llvm_bitcode_size', uint64_t, 24), ('build_log', c.POINTER[ctypes.c_char], 32), ('build_log_len', uint32_t, 40), ('error_code', uint32_t, 44)])
|
||||
@c.record
|
||||
class struct_cl_executable_data(c.Struct):
|
||||
SIZE = 80
|
||||
num_kernels: Annotated[int32_t, 0]
|
||||
kernel_props: Annotated[ctypes.c_void_p, 8]
|
||||
error_code: Annotated[uint32_t, 16]
|
||||
build_log: Annotated[c.POINTER[Annotated[bytes, ctypes.c_char]], 24]
|
||||
_unk0: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[32]], 32]
|
||||
chip_id: Annotated[uint64_t, 64]
|
||||
mode: Annotated[uint32_t, 72]
|
||||
int32_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
num_kernels: int
|
||||
kernel_props: ctypes.c_void_p
|
||||
error_code: int
|
||||
build_log: c.POINTER[ctypes.c_char]
|
||||
_unk0: c.Array[ctypes.c_char, Literal[32]]
|
||||
chip_id: int
|
||||
mode: int
|
||||
int32_t: TypeAlias = ctypes.c_int32
|
||||
struct_cl_executable_data.register_fields([('num_kernels', int32_t, 0), ('kernel_props', ctypes.c_void_p, 8), ('error_code', uint32_t, 16), ('build_log', c.POINTER[ctypes.c_char], 24), ('_unk0', c.Array[ctypes.c_char, Literal[32]], 32), ('chip_id', uint64_t, 64), ('mode', uint32_t, 72)])
|
||||
@c.record
|
||||
class cl_handle(c.Struct):
|
||||
SIZE = 16
|
||||
type: Annotated[enum_cl_handle_type, 0]
|
||||
compiled: Annotated[c.POINTER[struct_cl_compiled_data], 8]
|
||||
executable: Annotated[c.POINTER[struct_cl_executable_data], 8]
|
||||
@dll.bind
|
||||
def cl_compiler_compile_source(inst:cl_llvm_instance, chip_id:uint64_t, mode:Annotated[int, ctypes.c_int32], options:c.POINTER[Annotated[bytes, ctypes.c_char]], p5:Annotated[int, ctypes.c_int32], p6:uint64_t, p7:uint64_t, source:c.POINTER[Annotated[bytes, ctypes.c_char]], source_len:uint64_t, source_type:uint64_t, p11:ctypes.c_void_p) -> c.POINTER[cl_handle]: ...
|
||||
@dll.bind
|
||||
def cl_compiler_link_program(inst:cl_llvm_instance, chip_id:uint64_t, mode:Annotated[int, ctypes.c_int32], options:c.POINTER[Annotated[bytes, ctypes.c_char]], num_handles:Annotated[int, ctypes.c_int32], input_handles:c.POINTER[c.POINTER[cl_handle]]) -> c.POINTER[cl_handle]: ...
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
type: int
|
||||
compiled: c.POINTER[struct_cl_compiled_data]
|
||||
executable: c.POINTER[struct_cl_executable_data]
|
||||
cl_handle.register_fields([('type', ctypes.c_uint32, 0), ('compiled', c.POINTER[struct_cl_compiled_data], 8), ('executable', c.POINTER[struct_cl_executable_data], 8)])
|
||||
@dll.bind(c.POINTER[cl_handle], cl_llvm_instance, uint64_t, ctypes.c_int32, c.POINTER[ctypes.c_char], ctypes.c_int32, uint64_t, uint64_t, c.POINTER[ctypes.c_char], uint64_t, uint64_t, ctypes.c_void_p)
|
||||
def cl_compiler_compile_source(inst:cl_llvm_instance, chip_id:uint64_t, mode:int, options:c.POINTER[ctypes.c_char], p5:int, p6:uint64_t, p7:uint64_t, source:c.POINTER[ctypes.c_char], source_len:uint64_t, source_type:uint64_t, p11:ctypes.c_void_p) -> c.POINTER[cl_handle]: ...
|
||||
@dll.bind(c.POINTER[cl_handle], cl_llvm_instance, uint64_t, ctypes.c_int32, c.POINTER[ctypes.c_char], ctypes.c_int32, c.POINTER[c.POINTER[cl_handle]])
|
||||
def cl_compiler_link_program(inst:cl_llvm_instance, chip_id:uint64_t, mode:int, options:c.POINTER[ctypes.c_char], num_handles:int, input_handles:c.POINTER[c.POINTER[cl_handle]]) -> c.POINTER[cl_handle]: ...
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(None, c.POINTER[cl_handle], c.POINTER[ctypes.c_void_p], c.POINTER[size_t])
|
||||
def cl_compiler_handle_create_binary(handle:c.POINTER[cl_handle], out_ptr:c.POINTER[ctypes.c_void_p], out_size:c.POINTER[size_t]) -> None: ...
|
||||
@c.record
|
||||
class cl_lib_section(c.Struct):
|
||||
SIZE = 20
|
||||
id: Annotated[uint32_t, 0]
|
||||
offset: Annotated[uint32_t, 4]
|
||||
size: Annotated[uint32_t, 8]
|
||||
count: Annotated[uint32_t, 12]
|
||||
entry_size: Annotated[uint32_t, 16]
|
||||
id: int
|
||||
offset: int
|
||||
size: int
|
||||
count: int
|
||||
entry_size: int
|
||||
cl_lib_section.register_fields([('id', uint32_t, 0), ('offset', uint32_t, 4), ('size', uint32_t, 8), ('count', uint32_t, 12), ('entry_size', uint32_t, 16)])
|
||||
@c.record
|
||||
class cl_lib_header(c.Struct):
|
||||
SIZE = 48
|
||||
_unk0: Annotated[c.Array[uint32_t, Literal[6]], 0]
|
||||
num_sections: Annotated[uint32_t, 24]
|
||||
_unk1: Annotated[c.Array[uint32_t, Literal[5]], 28]
|
||||
sections: Annotated[c.Array[cl_lib_section, Literal[0]], 48]
|
||||
_unk0: c.Array[ctypes.c_uint32, Literal[6]]
|
||||
num_sections: int
|
||||
_unk1: c.Array[ctypes.c_uint32, Literal[5]]
|
||||
sections: c.Array[cl_lib_section, Literal[0]]
|
||||
cl_lib_header.register_fields([('_unk0', c.Array[uint32_t, Literal[6]], 0), ('num_sections', uint32_t, 24), ('_unk1', c.Array[uint32_t, Literal[5]], 28), ('sections', c.Array[cl_lib_section, Literal[0]], 48)])
|
||||
@c.record
|
||||
class cl_lib_prog(c.Struct):
|
||||
SIZE = 28
|
||||
name: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[8]], 0]
|
||||
_unk0: Annotated[c.Array[uint32_t, Literal[3]], 8]
|
||||
fregs: Annotated[uint32_t, 20]
|
||||
hregs: Annotated[uint32_t, 24]
|
||||
name: c.Array[ctypes.c_char, Literal[8]]
|
||||
_unk0: c.Array[ctypes.c_uint32, Literal[3]]
|
||||
fregs: int
|
||||
hregs: int
|
||||
cl_lib_prog.register_fields([('name', c.Array[ctypes.c_char, Literal[8]], 0), ('_unk0', c.Array[uint32_t, Literal[3]], 8), ('fregs', uint32_t, 20), ('hregs', uint32_t, 24)])
|
||||
@c.record
|
||||
class cl_lib_img_desc(c.Struct):
|
||||
SIZE = 344
|
||||
_unk0: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[196]], 0]
|
||||
prg_offset: Annotated[uint32_t, 196]
|
||||
pvtmem: Annotated[uint32_t, 200]
|
||||
_unk1: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[12]], 204]
|
||||
shmem: Annotated[uint32_t, 216]
|
||||
samp_cnt: Annotated[uint32_t, 220]
|
||||
_unk2: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[40]], 224]
|
||||
brnchstck: Annotated[uint32_t, 264]
|
||||
_unk4: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[76]], 268]
|
||||
kernel_name: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[0]], 344]
|
||||
@dll.bind
|
||||
_unk0: c.Array[ctypes.c_char, Literal[196]]
|
||||
prg_offset: int
|
||||
pvtmem: int
|
||||
_unk1: c.Array[ctypes.c_char, Literal[12]]
|
||||
shmem: int
|
||||
samp_cnt: int
|
||||
_unk2: c.Array[ctypes.c_char, Literal[40]]
|
||||
brnchstck: int
|
||||
_unk4: c.Array[ctypes.c_char, Literal[76]]
|
||||
kernel_name: c.Array[ctypes.c_char, Literal[0]]
|
||||
cl_lib_img_desc.register_fields([('_unk0', c.Array[ctypes.c_char, Literal[196]], 0), ('prg_offset', uint32_t, 196), ('pvtmem', uint32_t, 200), ('_unk1', c.Array[ctypes.c_char, Literal[12]], 204), ('shmem', uint32_t, 216), ('samp_cnt', uint32_t, 220), ('_unk2', c.Array[ctypes.c_char, Literal[40]], 224), ('brnchstck', uint32_t, 264), ('_unk4', c.Array[ctypes.c_char, Literal[76]], 268), ('kernel_name', c.Array[ctypes.c_char, Literal[0]], 344)])
|
||||
@dll.bind(None, c.POINTER[cl_handle])
|
||||
def cl_compiler_free_handle(handle:c.POINTER[cl_handle]) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, ctypes.c_void_p)
|
||||
def cl_compiler_free_assembly(ptr:ctypes.c_void_p) -> None: ...
|
||||
c.init_records()
|
||||
CL_MODE_32BIT = 0 # type: ignore
|
||||
CL_MODE_64BIT = 1 # type: ignore
|
||||
CL_SRC_STR = 0 # type: ignore
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,59 +1,42 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
import sysconfig
|
||||
dll = c.DLL('nvjitlink', 'nvJitLink', [f'/{pre}/cuda/targets/{sysconfig.get_config_vars().get("MULTIARCH", "").rsplit("-", 1)[0]}/lib' for pre in ['opt', 'usr/local']])
|
||||
class nvJitLinkResult(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
NVJITLINK_SUCCESS = nvJitLinkResult.define('NVJITLINK_SUCCESS', 0)
|
||||
NVJITLINK_ERROR_UNRECOGNIZED_OPTION = nvJitLinkResult.define('NVJITLINK_ERROR_UNRECOGNIZED_OPTION', 1)
|
||||
NVJITLINK_ERROR_MISSING_ARCH = nvJitLinkResult.define('NVJITLINK_ERROR_MISSING_ARCH', 2)
|
||||
NVJITLINK_ERROR_INVALID_INPUT = nvJitLinkResult.define('NVJITLINK_ERROR_INVALID_INPUT', 3)
|
||||
NVJITLINK_ERROR_PTX_COMPILE = nvJitLinkResult.define('NVJITLINK_ERROR_PTX_COMPILE', 4)
|
||||
NVJITLINK_ERROR_NVVM_COMPILE = nvJitLinkResult.define('NVJITLINK_ERROR_NVVM_COMPILE', 5)
|
||||
NVJITLINK_ERROR_INTERNAL = nvJitLinkResult.define('NVJITLINK_ERROR_INTERNAL', 6)
|
||||
|
||||
class nvJitLinkInputType(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
NVJITLINK_INPUT_NONE = nvJitLinkInputType.define('NVJITLINK_INPUT_NONE', 0)
|
||||
NVJITLINK_INPUT_CUBIN = nvJitLinkInputType.define('NVJITLINK_INPUT_CUBIN', 1)
|
||||
NVJITLINK_INPUT_PTX = nvJitLinkInputType.define('NVJITLINK_INPUT_PTX', 2)
|
||||
NVJITLINK_INPUT_LTOIR = nvJitLinkInputType.define('NVJITLINK_INPUT_LTOIR', 3)
|
||||
NVJITLINK_INPUT_FATBIN = nvJitLinkInputType.define('NVJITLINK_INPUT_FATBIN', 4)
|
||||
NVJITLINK_INPUT_OBJECT = nvJitLinkInputType.define('NVJITLINK_INPUT_OBJECT', 5)
|
||||
NVJITLINK_INPUT_LIBRARY = nvJitLinkInputType.define('NVJITLINK_INPUT_LIBRARY', 6)
|
||||
|
||||
class struct_nvJitLink(c.Struct): SIZE = 0
|
||||
nvJitLinkResult: dict[int, str] = {(NVJITLINK_SUCCESS:=0): 'NVJITLINK_SUCCESS', (NVJITLINK_ERROR_UNRECOGNIZED_OPTION:=1): 'NVJITLINK_ERROR_UNRECOGNIZED_OPTION', (NVJITLINK_ERROR_MISSING_ARCH:=2): 'NVJITLINK_ERROR_MISSING_ARCH', (NVJITLINK_ERROR_INVALID_INPUT:=3): 'NVJITLINK_ERROR_INVALID_INPUT', (NVJITLINK_ERROR_PTX_COMPILE:=4): 'NVJITLINK_ERROR_PTX_COMPILE', (NVJITLINK_ERROR_NVVM_COMPILE:=5): 'NVJITLINK_ERROR_NVVM_COMPILE', (NVJITLINK_ERROR_INTERNAL:=6): 'NVJITLINK_ERROR_INTERNAL'}
|
||||
nvJitLinkInputType: dict[int, str] = {(NVJITLINK_INPUT_NONE:=0): 'NVJITLINK_INPUT_NONE', (NVJITLINK_INPUT_CUBIN:=1): 'NVJITLINK_INPUT_CUBIN', (NVJITLINK_INPUT_PTX:=2): 'NVJITLINK_INPUT_PTX', (NVJITLINK_INPUT_LTOIR:=3): 'NVJITLINK_INPUT_LTOIR', (NVJITLINK_INPUT_FATBIN:=4): 'NVJITLINK_INPUT_FATBIN', (NVJITLINK_INPUT_OBJECT:=5): 'NVJITLINK_INPUT_OBJECT', (NVJITLINK_INPUT_LIBRARY:=6): 'NVJITLINK_INPUT_LIBRARY'}
|
||||
class struct_nvJitLink(c.Struct): pass
|
||||
nvJitLinkHandle: TypeAlias = c.POINTER[struct_nvJitLink]
|
||||
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
@dll.bind
|
||||
def nvJitLinkCreate(handle:c.POINTER[nvJitLinkHandle], numOptions:uint32_t, options:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkDestroy(handle:c.POINTER[nvJitLinkHandle]) -> nvJitLinkResult: ...
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
def nvJitLinkAddData(handle:nvJitLinkHandle, inputType:nvJitLinkInputType, data:ctypes.c_void_p, size:size_t, name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkAddFile(handle:nvJitLinkHandle, inputType:nvJitLinkInputType, fileName:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkComplete(handle:nvJitLinkHandle) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkGetLinkedCubinSize(handle:nvJitLinkHandle, size:c.POINTER[size_t]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkGetLinkedCubin(handle:nvJitLinkHandle, cubin:ctypes.c_void_p) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkGetLinkedPtxSize(handle:nvJitLinkHandle, size:c.POINTER[size_t]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkGetLinkedPtx(handle:nvJitLinkHandle, ptx:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkGetErrorLogSize(handle:nvJitLinkHandle, size:c.POINTER[size_t]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkGetErrorLog(handle:nvJitLinkHandle, log:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkGetInfoLogSize(handle:nvJitLinkHandle, size:c.POINTER[size_t]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkGetInfoLog(handle:nvJitLinkHandle, log:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvJitLinkResult: ...
|
||||
@dll.bind
|
||||
def nvJitLinkVersion(major:c.POINTER[Annotated[int, ctypes.c_uint32]], minor:c.POINTER[Annotated[int, ctypes.c_uint32]]) -> nvJitLinkResult: ...
|
||||
c.init_records()
|
||||
uint32_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[nvJitLinkHandle], uint32_t, c.POINTER[c.POINTER[ctypes.c_char]])
|
||||
def nvJitLinkCreate(handle:c.POINTER[nvJitLinkHandle], numOptions:uint32_t, options:c.POINTER[c.POINTER[ctypes.c_char]]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[nvJitLinkHandle])
|
||||
def nvJitLinkDestroy(handle:c.POINTER[nvJitLinkHandle]) -> ctypes.c_uint32: ...
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, ctypes.c_uint32, ctypes.c_void_p, size_t, c.POINTER[ctypes.c_char])
|
||||
def nvJitLinkAddData(handle:nvJitLinkHandle, inputType:ctypes.c_uint32, data:ctypes.c_void_p, size:size_t, name:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, ctypes.c_uint32, c.POINTER[ctypes.c_char])
|
||||
def nvJitLinkAddFile(handle:nvJitLinkHandle, inputType:ctypes.c_uint32, fileName:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle)
|
||||
def nvJitLinkComplete(handle:nvJitLinkHandle) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, c.POINTER[size_t])
|
||||
def nvJitLinkGetLinkedCubinSize(handle:nvJitLinkHandle, size:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, ctypes.c_void_p)
|
||||
def nvJitLinkGetLinkedCubin(handle:nvJitLinkHandle, cubin:ctypes.c_void_p) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, c.POINTER[size_t])
|
||||
def nvJitLinkGetLinkedPtxSize(handle:nvJitLinkHandle, size:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, c.POINTER[ctypes.c_char])
|
||||
def nvJitLinkGetLinkedPtx(handle:nvJitLinkHandle, ptx:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, c.POINTER[size_t])
|
||||
def nvJitLinkGetErrorLogSize(handle:nvJitLinkHandle, size:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, c.POINTER[ctypes.c_char])
|
||||
def nvJitLinkGetErrorLog(handle:nvJitLinkHandle, log:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, c.POINTER[size_t])
|
||||
def nvJitLinkGetInfoLogSize(handle:nvJitLinkHandle, size:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvJitLinkHandle, c.POINTER[ctypes.c_char])
|
||||
def nvJitLinkGetInfoLog(handle:nvJitLinkHandle, log:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[ctypes.c_uint32], c.POINTER[ctypes.c_uint32])
|
||||
def nvJitLinkVersion(major:c.POINTER[ctypes.c_uint32], minor:c.POINTER[ctypes.c_uint32]) -> ctypes.c_uint32: ...
|
||||
|
|
|
|||
|
|
@ -1,69 +1,55 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
import sysconfig
|
||||
dll = c.DLL('nvrtc', 'nvrtc', [f'/{pre}/cuda/targets/{sysconfig.get_config_vars().get("MULTIARCH", "").rsplit("-", 1)[0]}/lib' for pre in ['opt', 'usr/local']])
|
||||
class nvrtcResult(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
NVRTC_SUCCESS = nvrtcResult.define('NVRTC_SUCCESS', 0)
|
||||
NVRTC_ERROR_OUT_OF_MEMORY = nvrtcResult.define('NVRTC_ERROR_OUT_OF_MEMORY', 1)
|
||||
NVRTC_ERROR_PROGRAM_CREATION_FAILURE = nvrtcResult.define('NVRTC_ERROR_PROGRAM_CREATION_FAILURE', 2)
|
||||
NVRTC_ERROR_INVALID_INPUT = nvrtcResult.define('NVRTC_ERROR_INVALID_INPUT', 3)
|
||||
NVRTC_ERROR_INVALID_PROGRAM = nvrtcResult.define('NVRTC_ERROR_INVALID_PROGRAM', 4)
|
||||
NVRTC_ERROR_INVALID_OPTION = nvrtcResult.define('NVRTC_ERROR_INVALID_OPTION', 5)
|
||||
NVRTC_ERROR_COMPILATION = nvrtcResult.define('NVRTC_ERROR_COMPILATION', 6)
|
||||
NVRTC_ERROR_BUILTIN_OPERATION_FAILURE = nvrtcResult.define('NVRTC_ERROR_BUILTIN_OPERATION_FAILURE', 7)
|
||||
NVRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION = nvrtcResult.define('NVRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION', 8)
|
||||
NVRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION = nvrtcResult.define('NVRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION', 9)
|
||||
NVRTC_ERROR_NAME_EXPRESSION_NOT_VALID = nvrtcResult.define('NVRTC_ERROR_NAME_EXPRESSION_NOT_VALID', 10)
|
||||
NVRTC_ERROR_INTERNAL_ERROR = nvrtcResult.define('NVRTC_ERROR_INTERNAL_ERROR', 11)
|
||||
|
||||
@dll.bind
|
||||
def nvrtcGetErrorString(result:nvrtcResult) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
||||
@dll.bind
|
||||
def nvrtcVersion(major:c.POINTER[Annotated[int, ctypes.c_int32]], minor:c.POINTER[Annotated[int, ctypes.c_int32]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetNumSupportedArchs(numArchs:c.POINTER[Annotated[int, ctypes.c_int32]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetSupportedArchs(supportedArchs:c.POINTER[Annotated[int, ctypes.c_int32]]) -> nvrtcResult: ...
|
||||
class struct__nvrtcProgram(c.Struct): SIZE = 0
|
||||
nvrtcResult: dict[int, str] = {(NVRTC_SUCCESS:=0): 'NVRTC_SUCCESS', (NVRTC_ERROR_OUT_OF_MEMORY:=1): 'NVRTC_ERROR_OUT_OF_MEMORY', (NVRTC_ERROR_PROGRAM_CREATION_FAILURE:=2): 'NVRTC_ERROR_PROGRAM_CREATION_FAILURE', (NVRTC_ERROR_INVALID_INPUT:=3): 'NVRTC_ERROR_INVALID_INPUT', (NVRTC_ERROR_INVALID_PROGRAM:=4): 'NVRTC_ERROR_INVALID_PROGRAM', (NVRTC_ERROR_INVALID_OPTION:=5): 'NVRTC_ERROR_INVALID_OPTION', (NVRTC_ERROR_COMPILATION:=6): 'NVRTC_ERROR_COMPILATION', (NVRTC_ERROR_BUILTIN_OPERATION_FAILURE:=7): 'NVRTC_ERROR_BUILTIN_OPERATION_FAILURE', (NVRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION:=8): 'NVRTC_ERROR_NO_NAME_EXPRESSIONS_AFTER_COMPILATION', (NVRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION:=9): 'NVRTC_ERROR_NO_LOWERED_NAMES_BEFORE_COMPILATION', (NVRTC_ERROR_NAME_EXPRESSION_NOT_VALID:=10): 'NVRTC_ERROR_NAME_EXPRESSION_NOT_VALID', (NVRTC_ERROR_INTERNAL_ERROR:=11): 'NVRTC_ERROR_INTERNAL_ERROR'}
|
||||
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_uint32)
|
||||
def nvrtcGetErrorString(result:ctypes.c_uint32) -> c.POINTER[ctypes.c_char]: ...
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[ctypes.c_int32], c.POINTER[ctypes.c_int32])
|
||||
def nvrtcVersion(major:c.POINTER[ctypes.c_int32], minor:c.POINTER[ctypes.c_int32]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[ctypes.c_int32])
|
||||
def nvrtcGetNumSupportedArchs(numArchs:c.POINTER[ctypes.c_int32]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[ctypes.c_int32])
|
||||
def nvrtcGetSupportedArchs(supportedArchs:c.POINTER[ctypes.c_int32]) -> ctypes.c_uint32: ...
|
||||
class struct__nvrtcProgram(c.Struct): pass
|
||||
nvrtcProgram: TypeAlias = c.POINTER[struct__nvrtcProgram]
|
||||
@dll.bind
|
||||
def nvrtcCreateProgram(prog:c.POINTER[nvrtcProgram], src:c.POINTER[Annotated[bytes, ctypes.c_char]], name:c.POINTER[Annotated[bytes, ctypes.c_char]], numHeaders:Annotated[int, ctypes.c_int32], headers:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]], includeNames:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcDestroyProgram(prog:c.POINTER[nvrtcProgram]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcCompileProgram(prog:nvrtcProgram, numOptions:Annotated[int, ctypes.c_int32], options:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]]) -> nvrtcResult: ...
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
def nvrtcGetPTXSize(prog:nvrtcProgram, ptxSizeRet:c.POINTER[size_t]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetPTX(prog:nvrtcProgram, ptx:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetCUBINSize(prog:nvrtcProgram, cubinSizeRet:c.POINTER[size_t]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetCUBIN(prog:nvrtcProgram, cubin:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetNVVMSize(prog:nvrtcProgram, nvvmSizeRet:c.POINTER[size_t]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetNVVM(prog:nvrtcProgram, nvvm:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetLTOIRSize(prog:nvrtcProgram, LTOIRSizeRet:c.POINTER[size_t]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetLTOIR(prog:nvrtcProgram, LTOIR:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetOptiXIRSize(prog:nvrtcProgram, optixirSizeRet:c.POINTER[size_t]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetOptiXIR(prog:nvrtcProgram, optixir:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetProgramLogSize(prog:nvrtcProgram, logSizeRet:c.POINTER[size_t]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetProgramLog(prog:nvrtcProgram, log:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcAddNameExpression(prog:nvrtcProgram, name_expression:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> nvrtcResult: ...
|
||||
@dll.bind
|
||||
def nvrtcGetLoweredName(prog:nvrtcProgram, name_expression:c.POINTER[Annotated[bytes, ctypes.c_char]], lowered_name:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]]) -> nvrtcResult: ...
|
||||
c.init_records()
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[nvrtcProgram], c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], ctypes.c_int32, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[c.POINTER[ctypes.c_char]])
|
||||
def nvrtcCreateProgram(prog:c.POINTER[nvrtcProgram], src:c.POINTER[ctypes.c_char], name:c.POINTER[ctypes.c_char], numHeaders:int, headers:c.POINTER[c.POINTER[ctypes.c_char]], includeNames:c.POINTER[c.POINTER[ctypes.c_char]]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[nvrtcProgram])
|
||||
def nvrtcDestroyProgram(prog:c.POINTER[nvrtcProgram]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, ctypes.c_int32, c.POINTER[c.POINTER[ctypes.c_char]])
|
||||
def nvrtcCompileProgram(prog:nvrtcProgram, numOptions:int, options:c.POINTER[c.POINTER[ctypes.c_char]]) -> ctypes.c_uint32: ...
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[size_t])
|
||||
def nvrtcGetPTXSize(prog:nvrtcProgram, ptxSizeRet:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[ctypes.c_char])
|
||||
def nvrtcGetPTX(prog:nvrtcProgram, ptx:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[size_t])
|
||||
def nvrtcGetCUBINSize(prog:nvrtcProgram, cubinSizeRet:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[ctypes.c_char])
|
||||
def nvrtcGetCUBIN(prog:nvrtcProgram, cubin:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[size_t])
|
||||
def nvrtcGetNVVMSize(prog:nvrtcProgram, nvvmSizeRet:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[ctypes.c_char])
|
||||
def nvrtcGetNVVM(prog:nvrtcProgram, nvvm:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[size_t])
|
||||
def nvrtcGetLTOIRSize(prog:nvrtcProgram, LTOIRSizeRet:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[ctypes.c_char])
|
||||
def nvrtcGetLTOIR(prog:nvrtcProgram, LTOIR:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[size_t])
|
||||
def nvrtcGetOptiXIRSize(prog:nvrtcProgram, optixirSizeRet:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[ctypes.c_char])
|
||||
def nvrtcGetOptiXIR(prog:nvrtcProgram, optixir:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[size_t])
|
||||
def nvrtcGetProgramLogSize(prog:nvrtcProgram, logSizeRet:c.POINTER[size_t]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[ctypes.c_char])
|
||||
def nvrtcGetProgramLog(prog:nvrtcProgram, log:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[ctypes.c_char])
|
||||
def nvrtcAddNameExpression(prog:nvrtcProgram, name_expression:c.POINTER[ctypes.c_char]) -> ctypes.c_uint32: ...
|
||||
@dll.bind(ctypes.c_uint32, nvrtcProgram, c.POINTER[ctypes.c_char], c.POINTER[c.POINTER[ctypes.c_char]])
|
||||
def nvrtcGetLoweredName(prog:nvrtcProgram, name_expression:c.POINTER[ctypes.c_char], lowered_name:c.POINTER[c.POINTER[ctypes.c_char]]) -> ctypes.c_uint32: ...
|
||||
__DEPRECATED__ = lambda msg: __attribute__((deprecated(msg))) # type: ignore
|
||||
|
|
@ -1,346 +1,349 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
dll = c.DLL('opencl', 'OpenCL')
|
||||
class struct__cl_platform_id(c.Struct): SIZE = 0
|
||||
class struct__cl_platform_id(c.Struct): pass
|
||||
cl_platform_id: TypeAlias = c.POINTER[struct__cl_platform_id]
|
||||
class struct__cl_device_id(c.Struct): SIZE = 0
|
||||
class struct__cl_device_id(c.Struct): pass
|
||||
cl_device_id: TypeAlias = c.POINTER[struct__cl_device_id]
|
||||
class struct__cl_context(c.Struct): SIZE = 0
|
||||
class struct__cl_context(c.Struct): pass
|
||||
cl_context: TypeAlias = c.POINTER[struct__cl_context]
|
||||
class struct__cl_command_queue(c.Struct): SIZE = 0
|
||||
class struct__cl_command_queue(c.Struct): pass
|
||||
cl_command_queue: TypeAlias = c.POINTER[struct__cl_command_queue]
|
||||
class struct__cl_mem(c.Struct): SIZE = 0
|
||||
class struct__cl_mem(c.Struct): pass
|
||||
cl_mem: TypeAlias = c.POINTER[struct__cl_mem]
|
||||
class struct__cl_program(c.Struct): SIZE = 0
|
||||
class struct__cl_program(c.Struct): pass
|
||||
cl_program: TypeAlias = c.POINTER[struct__cl_program]
|
||||
class struct__cl_kernel(c.Struct): SIZE = 0
|
||||
class struct__cl_kernel(c.Struct): pass
|
||||
cl_kernel: TypeAlias = c.POINTER[struct__cl_kernel]
|
||||
class struct__cl_event(c.Struct): SIZE = 0
|
||||
class struct__cl_event(c.Struct): pass
|
||||
cl_event: TypeAlias = c.POINTER[struct__cl_event]
|
||||
class struct__cl_sampler(c.Struct): SIZE = 0
|
||||
class struct__cl_sampler(c.Struct): pass
|
||||
cl_sampler: TypeAlias = c.POINTER[struct__cl_sampler]
|
||||
cl_bool: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_bitfield: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_properties: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_device_type: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_platform_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_device_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_device_fp_config: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_device_mem_cache_type: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_device_local_mem_type: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_device_exec_capabilities: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_device_svm_capabilities: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_command_queue_properties: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_device_partition_property: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
cl_device_affinity_domain: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_context_properties: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
cl_context_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_queue_properties: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_command_queue_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_channel_order: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_channel_type: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_mem_flags: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_svm_mem_flags: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_mem_object_type: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_mem_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_mem_migration_flags: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_image_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_buffer_create_type: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_addressing_mode: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_filter_mode: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_sampler_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_map_flags: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_pipe_properties: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
cl_pipe_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_program_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_program_build_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_program_binary_type: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_build_status: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
cl_kernel_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_kernel_arg_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_kernel_arg_address_qualifier: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_kernel_arg_access_qualifier: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_kernel_arg_type_qualifier: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_kernel_work_group_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_kernel_sub_group_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_event_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_command_type: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_profiling_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_sampler_properties: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_kernel_exec_info: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_device_atomic_capabilities: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_device_device_enqueue_capabilities: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_khronos_vendor_id: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_mem_properties: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_version: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
cl_bool: TypeAlias = ctypes.c_uint32
|
||||
cl_bitfield: TypeAlias = ctypes.c_uint64
|
||||
cl_properties: TypeAlias = ctypes.c_uint64
|
||||
cl_device_type: TypeAlias = ctypes.c_uint64
|
||||
cl_platform_info: TypeAlias = ctypes.c_uint32
|
||||
cl_device_info: TypeAlias = ctypes.c_uint32
|
||||
cl_device_fp_config: TypeAlias = ctypes.c_uint64
|
||||
cl_device_mem_cache_type: TypeAlias = ctypes.c_uint32
|
||||
cl_device_local_mem_type: TypeAlias = ctypes.c_uint32
|
||||
cl_device_exec_capabilities: TypeAlias = ctypes.c_uint64
|
||||
cl_device_svm_capabilities: TypeAlias = ctypes.c_uint64
|
||||
cl_command_queue_properties: TypeAlias = ctypes.c_uint64
|
||||
cl_device_partition_property: TypeAlias = ctypes.c_int64
|
||||
cl_device_affinity_domain: TypeAlias = ctypes.c_uint64
|
||||
cl_context_properties: TypeAlias = ctypes.c_int64
|
||||
cl_context_info: TypeAlias = ctypes.c_uint32
|
||||
cl_queue_properties: TypeAlias = ctypes.c_uint64
|
||||
cl_command_queue_info: TypeAlias = ctypes.c_uint32
|
||||
cl_channel_order: TypeAlias = ctypes.c_uint32
|
||||
cl_channel_type: TypeAlias = ctypes.c_uint32
|
||||
cl_mem_flags: TypeAlias = ctypes.c_uint64
|
||||
cl_svm_mem_flags: TypeAlias = ctypes.c_uint64
|
||||
cl_mem_object_type: TypeAlias = ctypes.c_uint32
|
||||
cl_mem_info: TypeAlias = ctypes.c_uint32
|
||||
cl_mem_migration_flags: TypeAlias = ctypes.c_uint64
|
||||
cl_image_info: TypeAlias = ctypes.c_uint32
|
||||
cl_buffer_create_type: TypeAlias = ctypes.c_uint32
|
||||
cl_addressing_mode: TypeAlias = ctypes.c_uint32
|
||||
cl_filter_mode: TypeAlias = ctypes.c_uint32
|
||||
cl_sampler_info: TypeAlias = ctypes.c_uint32
|
||||
cl_map_flags: TypeAlias = ctypes.c_uint64
|
||||
cl_pipe_properties: TypeAlias = ctypes.c_int64
|
||||
cl_pipe_info: TypeAlias = ctypes.c_uint32
|
||||
cl_program_info: TypeAlias = ctypes.c_uint32
|
||||
cl_program_build_info: TypeAlias = ctypes.c_uint32
|
||||
cl_program_binary_type: TypeAlias = ctypes.c_uint32
|
||||
cl_build_status: TypeAlias = ctypes.c_int32
|
||||
cl_kernel_info: TypeAlias = ctypes.c_uint32
|
||||
cl_kernel_arg_info: TypeAlias = ctypes.c_uint32
|
||||
cl_kernel_arg_address_qualifier: TypeAlias = ctypes.c_uint32
|
||||
cl_kernel_arg_access_qualifier: TypeAlias = ctypes.c_uint32
|
||||
cl_kernel_arg_type_qualifier: TypeAlias = ctypes.c_uint64
|
||||
cl_kernel_work_group_info: TypeAlias = ctypes.c_uint32
|
||||
cl_kernel_sub_group_info: TypeAlias = ctypes.c_uint32
|
||||
cl_event_info: TypeAlias = ctypes.c_uint32
|
||||
cl_command_type: TypeAlias = ctypes.c_uint32
|
||||
cl_profiling_info: TypeAlias = ctypes.c_uint32
|
||||
cl_sampler_properties: TypeAlias = ctypes.c_uint64
|
||||
cl_kernel_exec_info: TypeAlias = ctypes.c_uint32
|
||||
cl_device_atomic_capabilities: TypeAlias = ctypes.c_uint64
|
||||
cl_device_device_enqueue_capabilities: TypeAlias = ctypes.c_uint64
|
||||
cl_khronos_vendor_id: TypeAlias = ctypes.c_uint32
|
||||
cl_mem_properties: TypeAlias = ctypes.c_uint64
|
||||
cl_version: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class struct__cl_image_format(c.Struct):
|
||||
SIZE = 8
|
||||
image_channel_order: Annotated[cl_channel_order, 0]
|
||||
image_channel_data_type: Annotated[cl_channel_type, 4]
|
||||
image_channel_order: int
|
||||
image_channel_data_type: int
|
||||
struct__cl_image_format.register_fields([('image_channel_order', cl_channel_order, 0), ('image_channel_data_type', cl_channel_type, 4)])
|
||||
cl_image_format: TypeAlias = struct__cl_image_format
|
||||
@c.record
|
||||
class struct__cl_image_desc(c.Struct):
|
||||
SIZE = 72
|
||||
image_type: Annotated[cl_mem_object_type, 0]
|
||||
image_width: Annotated[size_t, 8]
|
||||
image_height: Annotated[size_t, 16]
|
||||
image_depth: Annotated[size_t, 24]
|
||||
image_array_size: Annotated[size_t, 32]
|
||||
image_row_pitch: Annotated[size_t, 40]
|
||||
image_slice_pitch: Annotated[size_t, 48]
|
||||
num_mip_levels: Annotated[cl_uint, 56]
|
||||
num_samples: Annotated[cl_uint, 60]
|
||||
buffer: Annotated[cl_mem, 64]
|
||||
mem_object: Annotated[cl_mem, 64]
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
cl_uint: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
image_type: int
|
||||
image_width: int
|
||||
image_height: int
|
||||
image_depth: int
|
||||
image_array_size: int
|
||||
image_row_pitch: int
|
||||
image_slice_pitch: int
|
||||
num_mip_levels: int
|
||||
num_samples: int
|
||||
buffer: c.POINTER[struct__cl_mem]
|
||||
mem_object: c.POINTER[struct__cl_mem]
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
cl_uint: TypeAlias = ctypes.c_uint32
|
||||
struct__cl_image_desc.register_fields([('image_type', cl_mem_object_type, 0), ('image_width', size_t, 8), ('image_height', size_t, 16), ('image_depth', size_t, 24), ('image_array_size', size_t, 32), ('image_row_pitch', size_t, 40), ('image_slice_pitch', size_t, 48), ('num_mip_levels', cl_uint, 56), ('num_samples', cl_uint, 60), ('buffer', cl_mem, 64), ('mem_object', cl_mem, 64)])
|
||||
cl_image_desc: TypeAlias = struct__cl_image_desc
|
||||
@c.record
|
||||
class struct__cl_buffer_region(c.Struct):
|
||||
SIZE = 16
|
||||
origin: Annotated[size_t, 0]
|
||||
size: Annotated[size_t, 8]
|
||||
origin: int
|
||||
size: int
|
||||
struct__cl_buffer_region.register_fields([('origin', size_t, 0), ('size', size_t, 8)])
|
||||
cl_buffer_region: TypeAlias = struct__cl_buffer_region
|
||||
@c.record
|
||||
class struct__cl_name_version(c.Struct):
|
||||
SIZE = 68
|
||||
version: Annotated[cl_version, 0]
|
||||
name: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[64]], 4]
|
||||
version: int
|
||||
name: c.Array[ctypes.c_char, Literal[64]]
|
||||
struct__cl_name_version.register_fields([('version', cl_version, 0), ('name', c.Array[ctypes.c_char, Literal[64]], 4)])
|
||||
cl_name_version: TypeAlias = struct__cl_name_version
|
||||
cl_int: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
@dll.bind
|
||||
cl_int: TypeAlias = ctypes.c_int32
|
||||
@dll.bind(cl_int, cl_uint, c.POINTER[cl_platform_id], c.POINTER[cl_uint])
|
||||
def clGetPlatformIDs(num_entries:cl_uint, platforms:c.POINTER[cl_platform_id], num_platforms:c.POINTER[cl_uint]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_platform_id, cl_platform_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetPlatformInfo(platform:cl_platform_id, param_name:cl_platform_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_platform_id, cl_device_type, cl_uint, c.POINTER[cl_device_id], c.POINTER[cl_uint])
|
||||
def clGetDeviceIDs(platform:cl_platform_id, device_type:cl_device_type, num_entries:cl_uint, devices:c.POINTER[cl_device_id], num_devices:c.POINTER[cl_uint]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_device_id, cl_device_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetDeviceInfo(device:cl_device_id, param_name:cl_device_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_device_id, c.POINTER[cl_device_partition_property], cl_uint, c.POINTER[cl_device_id], c.POINTER[cl_uint])
|
||||
def clCreateSubDevices(in_device:cl_device_id, properties:c.POINTER[cl_device_partition_property], num_devices:cl_uint, out_devices:c.POINTER[cl_device_id], num_devices_ret:c.POINTER[cl_uint]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_device_id)
|
||||
def clRetainDevice(device:cl_device_id) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_device_id)
|
||||
def clReleaseDevice(device:cl_device_id) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_context, cl_device_id, cl_command_queue)
|
||||
def clSetDefaultDeviceCommandQueue(context:cl_context, device:cl_device_id, command_queue:cl_command_queue) -> cl_int: ...
|
||||
cl_ulong: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
@dll.bind
|
||||
cl_ulong: TypeAlias = ctypes.c_uint64
|
||||
@dll.bind(cl_int, cl_device_id, c.POINTER[cl_ulong], c.POINTER[cl_ulong])
|
||||
def clGetDeviceAndHostTimer(device:cl_device_id, device_timestamp:c.POINTER[cl_ulong], host_timestamp:c.POINTER[cl_ulong]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_device_id, c.POINTER[cl_ulong])
|
||||
def clGetHostTimer(device:cl_device_id, host_timestamp:c.POINTER[cl_ulong]) -> cl_int: ...
|
||||
@dll.bind
|
||||
def clCreateContext(properties:c.POINTER[cl_context_properties], num_devices:cl_uint, devices:c.POINTER[cl_device_id], pfn_notify:c.CFUNCTYPE[None, [c.POINTER[Annotated[bytes, ctypes.c_char]], ctypes.c_void_p, size_t, ctypes.c_void_p]], user_data:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_context: ...
|
||||
@dll.bind
|
||||
def clCreateContextFromType(properties:c.POINTER[cl_context_properties], device_type:cl_device_type, pfn_notify:c.CFUNCTYPE[None, [c.POINTER[Annotated[bytes, ctypes.c_char]], ctypes.c_void_p, size_t, ctypes.c_void_p]], user_data:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_context: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_context, c.POINTER[cl_context_properties], cl_uint, c.POINTER[cl_device_id], c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p, size_t, ctypes.c_void_p]], ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateContext(properties:c.POINTER[cl_context_properties], num_devices:cl_uint, devices:c.POINTER[cl_device_id], pfn_notify:c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p, size_t, ctypes.c_void_p]], user_data:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_context: ...
|
||||
@dll.bind(cl_context, c.POINTER[cl_context_properties], cl_device_type, c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p, size_t, ctypes.c_void_p]], ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateContextFromType(properties:c.POINTER[cl_context_properties], device_type:cl_device_type, pfn_notify:c.CFUNCTYPE[None, [c.POINTER[ctypes.c_char], ctypes.c_void_p, size_t, ctypes.c_void_p]], user_data:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_context: ...
|
||||
@dll.bind(cl_int, cl_context)
|
||||
def clRetainContext(context:cl_context) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_context)
|
||||
def clReleaseContext(context:cl_context) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_context, cl_context_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetContextInfo(context:cl_context, param_name:cl_context_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_context, c.CFUNCTYPE[None, [cl_context, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def clSetContextDestructorCallback(context:cl_context, pfn_notify:c.CFUNCTYPE[None, [cl_context, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_command_queue, cl_context, cl_device_id, c.POINTER[cl_queue_properties], c.POINTER[cl_int])
|
||||
def clCreateCommandQueueWithProperties(context:cl_context, device:cl_device_id, properties:c.POINTER[cl_queue_properties], errcode_ret:c.POINTER[cl_int]) -> cl_command_queue: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue)
|
||||
def clRetainCommandQueue(command_queue:cl_command_queue) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue)
|
||||
def clReleaseCommandQueue(command_queue:cl_command_queue) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_command_queue_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetCommandQueueInfo(command_queue:cl_command_queue, param_name:cl_command_queue_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_mem, cl_context, cl_mem_flags, size_t, ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateBuffer(context:cl_context, flags:cl_mem_flags, size:size_t, host_ptr:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_mem: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_mem, cl_mem, cl_mem_flags, cl_buffer_create_type, ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateSubBuffer(buffer:cl_mem, flags:cl_mem_flags, buffer_create_type:cl_buffer_create_type, buffer_create_info:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_mem: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_mem, cl_context, cl_mem_flags, c.POINTER[cl_image_format], c.POINTER[cl_image_desc], ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateImage(context:cl_context, flags:cl_mem_flags, image_format:c.POINTER[cl_image_format], image_desc:c.POINTER[cl_image_desc], host_ptr:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_mem: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_mem, cl_context, cl_mem_flags, cl_uint, cl_uint, c.POINTER[cl_pipe_properties], c.POINTER[cl_int])
|
||||
def clCreatePipe(context:cl_context, flags:cl_mem_flags, pipe_packet_size:cl_uint, pipe_max_packets:cl_uint, properties:c.POINTER[cl_pipe_properties], errcode_ret:c.POINTER[cl_int]) -> cl_mem: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_mem, cl_context, c.POINTER[cl_mem_properties], cl_mem_flags, size_t, ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateBufferWithProperties(context:cl_context, properties:c.POINTER[cl_mem_properties], flags:cl_mem_flags, size:size_t, host_ptr:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_mem: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_mem, cl_context, c.POINTER[cl_mem_properties], cl_mem_flags, c.POINTER[cl_image_format], c.POINTER[cl_image_desc], ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateImageWithProperties(context:cl_context, properties:c.POINTER[cl_mem_properties], flags:cl_mem_flags, image_format:c.POINTER[cl_image_format], image_desc:c.POINTER[cl_image_desc], host_ptr:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_mem: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_mem)
|
||||
def clRetainMemObject(memobj:cl_mem) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_mem)
|
||||
def clReleaseMemObject(memobj:cl_mem) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_context, cl_mem_flags, cl_mem_object_type, cl_uint, c.POINTER[cl_image_format], c.POINTER[cl_uint])
|
||||
def clGetSupportedImageFormats(context:cl_context, flags:cl_mem_flags, image_type:cl_mem_object_type, num_entries:cl_uint, image_formats:c.POINTER[cl_image_format], num_image_formats:c.POINTER[cl_uint]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_mem, cl_mem_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetMemObjectInfo(memobj:cl_mem, param_name:cl_mem_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_mem, cl_image_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetImageInfo(image:cl_mem, param_name:cl_image_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_mem, cl_pipe_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetPipeInfo(pipe:cl_mem, param_name:cl_pipe_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_mem, c.CFUNCTYPE[None, [cl_mem, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def clSetMemObjectDestructorCallback(memobj:cl_mem, pfn_notify:c.CFUNCTYPE[None, [cl_mem, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_void_p, cl_context, cl_svm_mem_flags, size_t, cl_uint)
|
||||
def clSVMAlloc(context:cl_context, flags:cl_svm_mem_flags, size:size_t, alignment:cl_uint) -> ctypes.c_void_p: ...
|
||||
@dll.bind
|
||||
@dll.bind(None, cl_context, ctypes.c_void_p)
|
||||
def clSVMFree(context:cl_context, svm_pointer:ctypes.c_void_p) -> None: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_sampler, cl_context, c.POINTER[cl_sampler_properties], c.POINTER[cl_int])
|
||||
def clCreateSamplerWithProperties(context:cl_context, sampler_properties:c.POINTER[cl_sampler_properties], errcode_ret:c.POINTER[cl_int]) -> cl_sampler: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_sampler)
|
||||
def clRetainSampler(sampler:cl_sampler) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_sampler)
|
||||
def clReleaseSampler(sampler:cl_sampler) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_sampler, cl_sampler_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetSamplerInfo(sampler:cl_sampler, param_name:cl_sampler_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
def clCreateProgramWithSource(context:cl_context, count:cl_uint, strings:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]], lengths:c.POINTER[size_t], errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind
|
||||
def clCreateProgramWithBinary(context:cl_context, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], lengths:c.POINTER[size_t], binaries:c.POINTER[c.POINTER[Annotated[int, ctypes.c_ubyte]]], binary_status:c.POINTER[cl_int], errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind
|
||||
def clCreateProgramWithBuiltInKernels(context:cl_context, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], kernel_names:c.POINTER[Annotated[bytes, ctypes.c_char]], errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_program, cl_context, cl_uint, c.POINTER[c.POINTER[ctypes.c_char]], c.POINTER[size_t], c.POINTER[cl_int])
|
||||
def clCreateProgramWithSource(context:cl_context, count:cl_uint, strings:c.POINTER[c.POINTER[ctypes.c_char]], lengths:c.POINTER[size_t], errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind(cl_program, cl_context, cl_uint, c.POINTER[cl_device_id], c.POINTER[size_t], c.POINTER[c.POINTER[ctypes.c_ubyte]], c.POINTER[cl_int], c.POINTER[cl_int])
|
||||
def clCreateProgramWithBinary(context:cl_context, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], lengths:c.POINTER[size_t], binaries:c.POINTER[c.POINTER[ctypes.c_ubyte]], binary_status:c.POINTER[cl_int], errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind(cl_program, cl_context, cl_uint, c.POINTER[cl_device_id], c.POINTER[ctypes.c_char], c.POINTER[cl_int])
|
||||
def clCreateProgramWithBuiltInKernels(context:cl_context, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], kernel_names:c.POINTER[ctypes.c_char], errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind(cl_program, cl_context, ctypes.c_void_p, size_t, c.POINTER[cl_int])
|
||||
def clCreateProgramWithIL(context:cl_context, il:ctypes.c_void_p, length:size_t, errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_program)
|
||||
def clRetainProgram(program:cl_program) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_program)
|
||||
def clReleaseProgram(program:cl_program) -> cl_int: ...
|
||||
@dll.bind
|
||||
def clBuildProgram(program:cl_program, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], options:c.POINTER[Annotated[bytes, ctypes.c_char]], pfn_notify:c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
def clCompileProgram(program:cl_program, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], options:c.POINTER[Annotated[bytes, ctypes.c_char]], num_input_headers:cl_uint, input_headers:c.POINTER[cl_program], header_include_names:c.POINTER[c.POINTER[Annotated[bytes, ctypes.c_char]]], pfn_notify:c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
def clLinkProgram(context:cl_context, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], options:c.POINTER[Annotated[bytes, ctypes.c_char]], num_input_programs:cl_uint, input_programs:c.POINTER[cl_program], pfn_notify:c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], user_data:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_program, cl_uint, c.POINTER[cl_device_id], c.POINTER[ctypes.c_char], c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def clBuildProgram(program:cl_program, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], options:c.POINTER[ctypes.c_char], pfn_notify:c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind(cl_int, cl_program, cl_uint, c.POINTER[cl_device_id], c.POINTER[ctypes.c_char], cl_uint, c.POINTER[cl_program], c.POINTER[c.POINTER[ctypes.c_char]], c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def clCompileProgram(program:cl_program, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], options:c.POINTER[ctypes.c_char], num_input_headers:cl_uint, input_headers:c.POINTER[cl_program], header_include_names:c.POINTER[c.POINTER[ctypes.c_char]], pfn_notify:c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind(cl_program, cl_context, cl_uint, c.POINTER[cl_device_id], c.POINTER[ctypes.c_char], cl_uint, c.POINTER[cl_program], c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clLinkProgram(context:cl_context, num_devices:cl_uint, device_list:c.POINTER[cl_device_id], options:c.POINTER[ctypes.c_char], num_input_programs:cl_uint, input_programs:c.POINTER[cl_program], pfn_notify:c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], user_data:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_program: ...
|
||||
@dll.bind(cl_int, cl_program, c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def clSetProgramReleaseCallback(program:cl_program, pfn_notify:c.CFUNCTYPE[None, [cl_program, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_program, cl_uint, size_t, ctypes.c_void_p)
|
||||
def clSetProgramSpecializationConstant(program:cl_program, spec_id:cl_uint, spec_size:size_t, spec_value:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_platform_id)
|
||||
def clUnloadPlatformCompiler(platform:cl_platform_id) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_program, cl_program_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetProgramInfo(program:cl_program, param_name:cl_program_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_program, cl_device_id, cl_program_build_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetProgramBuildInfo(program:cl_program, device:cl_device_id, param_name:cl_program_build_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
def clCreateKernel(program:cl_program, kernel_name:c.POINTER[Annotated[bytes, ctypes.c_char]], errcode_ret:c.POINTER[cl_int]) -> cl_kernel: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_kernel, cl_program, c.POINTER[ctypes.c_char], c.POINTER[cl_int])
|
||||
def clCreateKernel(program:cl_program, kernel_name:c.POINTER[ctypes.c_char], errcode_ret:c.POINTER[cl_int]) -> cl_kernel: ...
|
||||
@dll.bind(cl_int, cl_program, cl_uint, c.POINTER[cl_kernel], c.POINTER[cl_uint])
|
||||
def clCreateKernelsInProgram(program:cl_program, num_kernels:cl_uint, kernels:c.POINTER[cl_kernel], num_kernels_ret:c.POINTER[cl_uint]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_kernel, cl_kernel, c.POINTER[cl_int])
|
||||
def clCloneKernel(source_kernel:cl_kernel, errcode_ret:c.POINTER[cl_int]) -> cl_kernel: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel)
|
||||
def clRetainKernel(kernel:cl_kernel) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel)
|
||||
def clReleaseKernel(kernel:cl_kernel) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel, cl_uint, size_t, ctypes.c_void_p)
|
||||
def clSetKernelArg(kernel:cl_kernel, arg_index:cl_uint, arg_size:size_t, arg_value:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel, cl_uint, ctypes.c_void_p)
|
||||
def clSetKernelArgSVMPointer(kernel:cl_kernel, arg_index:cl_uint, arg_value:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel, cl_kernel_exec_info, size_t, ctypes.c_void_p)
|
||||
def clSetKernelExecInfo(kernel:cl_kernel, param_name:cl_kernel_exec_info, param_value_size:size_t, param_value:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel, cl_kernel_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetKernelInfo(kernel:cl_kernel, param_name:cl_kernel_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel, cl_uint, cl_kernel_arg_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetKernelArgInfo(kernel:cl_kernel, arg_indx:cl_uint, param_name:cl_kernel_arg_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel, cl_device_id, cl_kernel_work_group_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetKernelWorkGroupInfo(kernel:cl_kernel, device:cl_device_id, param_name:cl_kernel_work_group_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_kernel, cl_device_id, cl_kernel_sub_group_info, size_t, ctypes.c_void_p, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetKernelSubGroupInfo(kernel:cl_kernel, device:cl_device_id, param_name:cl_kernel_sub_group_info, input_value_size:size_t, input_value:ctypes.c_void_p, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_uint, c.POINTER[cl_event])
|
||||
def clWaitForEvents(num_events:cl_uint, event_list:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_event, cl_event_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetEventInfo(event:cl_event, param_name:cl_event_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_event, cl_context, c.POINTER[cl_int])
|
||||
def clCreateUserEvent(context:cl_context, errcode_ret:c.POINTER[cl_int]) -> cl_event: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_event)
|
||||
def clRetainEvent(event:cl_event) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_event)
|
||||
def clReleaseEvent(event:cl_event) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_event, cl_int)
|
||||
def clSetUserEventStatus(event:cl_event, execution_status:cl_int) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_event, cl_int, c.CFUNCTYPE[None, [cl_event, cl_int, ctypes.c_void_p]], ctypes.c_void_p)
|
||||
def clSetEventCallback(event:cl_event, command_exec_callback_type:cl_int, pfn_notify:c.CFUNCTYPE[None, [cl_event, cl_int, ctypes.c_void_p]], user_data:ctypes.c_void_p) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_event, cl_profiling_info, size_t, ctypes.c_void_p, c.POINTER[size_t])
|
||||
def clGetEventProfilingInfo(event:cl_event, param_name:cl_profiling_info, param_value_size:size_t, param_value:ctypes.c_void_p, param_value_size_ret:c.POINTER[size_t]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue)
|
||||
def clFlush(command_queue:cl_command_queue) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue)
|
||||
def clFinish(command_queue:cl_command_queue) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_bool, size_t, size_t, ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueReadBuffer(command_queue:cl_command_queue, buffer:cl_mem, blocking_read:cl_bool, offset:size_t, size:size_t, ptr:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_bool, c.POINTER[size_t], c.POINTER[size_t], c.POINTER[size_t], size_t, size_t, size_t, size_t, ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueReadBufferRect(command_queue:cl_command_queue, buffer:cl_mem, blocking_read:cl_bool, buffer_origin:c.POINTER[size_t], host_origin:c.POINTER[size_t], region:c.POINTER[size_t], buffer_row_pitch:size_t, buffer_slice_pitch:size_t, host_row_pitch:size_t, host_slice_pitch:size_t, ptr:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_bool, size_t, size_t, ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueWriteBuffer(command_queue:cl_command_queue, buffer:cl_mem, blocking_write:cl_bool, offset:size_t, size:size_t, ptr:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_bool, c.POINTER[size_t], c.POINTER[size_t], c.POINTER[size_t], size_t, size_t, size_t, size_t, ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueWriteBufferRect(command_queue:cl_command_queue, buffer:cl_mem, blocking_write:cl_bool, buffer_origin:c.POINTER[size_t], host_origin:c.POINTER[size_t], region:c.POINTER[size_t], buffer_row_pitch:size_t, buffer_slice_pitch:size_t, host_row_pitch:size_t, host_slice_pitch:size_t, ptr:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, ctypes.c_void_p, size_t, size_t, size_t, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueFillBuffer(command_queue:cl_command_queue, buffer:cl_mem, pattern:ctypes.c_void_p, pattern_size:size_t, offset:size_t, size:size_t, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_mem, size_t, size_t, size_t, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueCopyBuffer(command_queue:cl_command_queue, src_buffer:cl_mem, dst_buffer:cl_mem, src_offset:size_t, dst_offset:size_t, size:size_t, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_mem, c.POINTER[size_t], c.POINTER[size_t], c.POINTER[size_t], size_t, size_t, size_t, size_t, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueCopyBufferRect(command_queue:cl_command_queue, src_buffer:cl_mem, dst_buffer:cl_mem, src_origin:c.POINTER[size_t], dst_origin:c.POINTER[size_t], region:c.POINTER[size_t], src_row_pitch:size_t, src_slice_pitch:size_t, dst_row_pitch:size_t, dst_slice_pitch:size_t, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_bool, c.POINTER[size_t], c.POINTER[size_t], size_t, size_t, ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueReadImage(command_queue:cl_command_queue, image:cl_mem, blocking_read:cl_bool, origin:c.POINTER[size_t], region:c.POINTER[size_t], row_pitch:size_t, slice_pitch:size_t, ptr:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_bool, c.POINTER[size_t], c.POINTER[size_t], size_t, size_t, ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueWriteImage(command_queue:cl_command_queue, image:cl_mem, blocking_write:cl_bool, origin:c.POINTER[size_t], region:c.POINTER[size_t], input_row_pitch:size_t, input_slice_pitch:size_t, ptr:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, ctypes.c_void_p, c.POINTER[size_t], c.POINTER[size_t], cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueFillImage(command_queue:cl_command_queue, image:cl_mem, fill_color:ctypes.c_void_p, origin:c.POINTER[size_t], region:c.POINTER[size_t], num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_mem, c.POINTER[size_t], c.POINTER[size_t], c.POINTER[size_t], cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueCopyImage(command_queue:cl_command_queue, src_image:cl_mem, dst_image:cl_mem, src_origin:c.POINTER[size_t], dst_origin:c.POINTER[size_t], region:c.POINTER[size_t], num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_mem, c.POINTER[size_t], c.POINTER[size_t], size_t, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueCopyImageToBuffer(command_queue:cl_command_queue, src_image:cl_mem, dst_buffer:cl_mem, src_origin:c.POINTER[size_t], region:c.POINTER[size_t], dst_offset:size_t, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, cl_mem, size_t, c.POINTER[size_t], c.POINTER[size_t], cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueCopyBufferToImage(command_queue:cl_command_queue, src_buffer:cl_mem, dst_image:cl_mem, src_offset:size_t, dst_origin:c.POINTER[size_t], region:c.POINTER[size_t], num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_void_p, cl_command_queue, cl_mem, cl_bool, cl_map_flags, size_t, size_t, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event], c.POINTER[cl_int])
|
||||
def clEnqueueMapBuffer(command_queue:cl_command_queue, buffer:cl_mem, blocking_map:cl_bool, map_flags:cl_map_flags, offset:size_t, size:size_t, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event], errcode_ret:c.POINTER[cl_int]) -> ctypes.c_void_p: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_void_p, cl_command_queue, cl_mem, cl_bool, cl_map_flags, c.POINTER[size_t], c.POINTER[size_t], c.POINTER[size_t], c.POINTER[size_t], cl_uint, c.POINTER[cl_event], c.POINTER[cl_event], c.POINTER[cl_int])
|
||||
def clEnqueueMapImage(command_queue:cl_command_queue, image:cl_mem, blocking_map:cl_bool, map_flags:cl_map_flags, origin:c.POINTER[size_t], region:c.POINTER[size_t], image_row_pitch:c.POINTER[size_t], image_slice_pitch:c.POINTER[size_t], num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event], errcode_ret:c.POINTER[cl_int]) -> ctypes.c_void_p: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_mem, ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueUnmapMemObject(command_queue:cl_command_queue, memobj:cl_mem, mapped_ptr:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_uint, c.POINTER[cl_mem], cl_mem_migration_flags, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueMigrateMemObjects(command_queue:cl_command_queue, num_mem_objects:cl_uint, mem_objects:c.POINTER[cl_mem], flags:cl_mem_migration_flags, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_kernel, cl_uint, c.POINTER[size_t], c.POINTER[size_t], c.POINTER[size_t], cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueNDRangeKernel(command_queue:cl_command_queue, kernel:cl_kernel, work_dim:cl_uint, global_work_offset:c.POINTER[size_t], global_work_size:c.POINTER[size_t], local_work_size:c.POINTER[size_t], num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, c.CFUNCTYPE[None, [ctypes.c_void_p]], ctypes.c_void_p, size_t, cl_uint, c.POINTER[cl_mem], c.POINTER[ctypes.c_void_p], cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueNativeKernel(command_queue:cl_command_queue, user_func:c.CFUNCTYPE[None, [ctypes.c_void_p]], args:ctypes.c_void_p, cb_args:size_t, num_mem_objects:cl_uint, mem_list:c.POINTER[cl_mem], args_mem_loc:c.POINTER[ctypes.c_void_p], num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueMarkerWithWaitList(command_queue:cl_command_queue, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueBarrierWithWaitList(command_queue:cl_command_queue, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_uint, c.Array[ctypes.c_void_p, Literal[0]], c.CFUNCTYPE[None, [cl_command_queue, cl_uint, c.Array[ctypes.c_void_p, Literal[0]], ctypes.c_void_p]], ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueSVMFree(command_queue:cl_command_queue, num_svm_pointers:cl_uint, svm_pointers:c.Array[ctypes.c_void_p, Literal[0]], pfn_free_func:c.CFUNCTYPE[None, [cl_command_queue, cl_uint, c.Array[ctypes.c_void_p, Literal[0]], ctypes.c_void_p]], user_data:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_bool, ctypes.c_void_p, ctypes.c_void_p, size_t, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueSVMMemcpy(command_queue:cl_command_queue, blocking_copy:cl_bool, dst_ptr:ctypes.c_void_p, src_ptr:ctypes.c_void_p, size:size_t, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, ctypes.c_void_p, ctypes.c_void_p, size_t, size_t, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueSVMMemFill(command_queue:cl_command_queue, svm_ptr:ctypes.c_void_p, pattern:ctypes.c_void_p, pattern_size:size_t, size:size_t, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_bool, cl_map_flags, ctypes.c_void_p, size_t, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueSVMMap(command_queue:cl_command_queue, blocking_map:cl_bool, flags:cl_map_flags, svm_ptr:ctypes.c_void_p, size:size_t, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, ctypes.c_void_p, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueSVMUnmap(command_queue:cl_command_queue, svm_ptr:ctypes.c_void_p, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_uint, c.POINTER[ctypes.c_void_p], c.POINTER[size_t], cl_mem_migration_flags, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueSVMMigrateMem(command_queue:cl_command_queue, num_svm_pointers:cl_uint, svm_pointers:c.POINTER[ctypes.c_void_p], sizes:c.POINTER[size_t], flags:cl_mem_migration_flags, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
def clGetExtensionFunctionAddressForPlatform(platform:cl_platform_id, func_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> ctypes.c_void_p: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_void_p, cl_platform_id, c.POINTER[ctypes.c_char])
|
||||
def clGetExtensionFunctionAddressForPlatform(platform:cl_platform_id, func_name:c.POINTER[ctypes.c_char]) -> ctypes.c_void_p: ...
|
||||
@dll.bind(cl_mem, cl_context, cl_mem_flags, c.POINTER[cl_image_format], size_t, size_t, size_t, ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateImage2D(context:cl_context, flags:cl_mem_flags, image_format:c.POINTER[cl_image_format], image_width:size_t, image_height:size_t, image_row_pitch:size_t, host_ptr:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_mem: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_mem, cl_context, cl_mem_flags, c.POINTER[cl_image_format], size_t, size_t, size_t, size_t, size_t, ctypes.c_void_p, c.POINTER[cl_int])
|
||||
def clCreateImage3D(context:cl_context, flags:cl_mem_flags, image_format:c.POINTER[cl_image_format], image_width:size_t, image_height:size_t, image_depth:size_t, image_row_pitch:size_t, image_slice_pitch:size_t, host_ptr:ctypes.c_void_p, errcode_ret:c.POINTER[cl_int]) -> cl_mem: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, c.POINTER[cl_event])
|
||||
def clEnqueueMarker(command_queue:cl_command_queue, event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_uint, c.POINTER[cl_event])
|
||||
def clEnqueueWaitForEvents(command_queue:cl_command_queue, num_events:cl_uint, event_list:c.POINTER[cl_event]) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue)
|
||||
def clEnqueueBarrier(command_queue:cl_command_queue) -> cl_int: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int)
|
||||
def clUnloadCompiler() -> cl_int: ...
|
||||
@dll.bind
|
||||
def clGetExtensionFunctionAddress(func_name:c.POINTER[Annotated[bytes, ctypes.c_char]]) -> ctypes.c_void_p: ...
|
||||
@dll.bind
|
||||
@dll.bind(ctypes.c_void_p, c.POINTER[ctypes.c_char])
|
||||
def clGetExtensionFunctionAddress(func_name:c.POINTER[ctypes.c_char]) -> ctypes.c_void_p: ...
|
||||
@dll.bind(cl_command_queue, cl_context, cl_device_id, cl_command_queue_properties, c.POINTER[cl_int])
|
||||
def clCreateCommandQueue(context:cl_context, device:cl_device_id, properties:cl_command_queue_properties, errcode_ret:c.POINTER[cl_int]) -> cl_command_queue: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_sampler, cl_context, cl_bool, cl_addressing_mode, cl_filter_mode, c.POINTER[cl_int])
|
||||
def clCreateSampler(context:cl_context, normalized_coords:cl_bool, addressing_mode:cl_addressing_mode, filter_mode:cl_filter_mode, errcode_ret:c.POINTER[cl_int]) -> cl_sampler: ...
|
||||
@dll.bind
|
||||
@dll.bind(cl_int, cl_command_queue, cl_kernel, cl_uint, c.POINTER[cl_event], c.POINTER[cl_event])
|
||||
def clEnqueueTask(command_queue:cl_command_queue, kernel:cl_kernel, num_events_in_wait_list:cl_uint, event_wait_list:c.POINTER[cl_event], event:c.POINTER[cl_event]) -> cl_int: ...
|
||||
c.init_records()
|
||||
CL_NAME_VERSION_MAX_NAME_SIZE = 64 # type: ignore
|
||||
CL_SUCCESS = 0 # type: ignore
|
||||
CL_DEVICE_NOT_FOUND = -1 # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
c.init_records()
|
||||
PCI_CFG_SPACE_SIZE = 256 # type: ignore
|
||||
PCI_CFG_SPACE_EXP_SIZE = 4096 # type: ignore
|
||||
PCI_STD_HEADER_SIZEOF = 64 # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,491 +1,433 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
ion_user_handle_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
class enum_ion_heap_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ION_HEAP_TYPE_SYSTEM = enum_ion_heap_type.define('ION_HEAP_TYPE_SYSTEM', 0)
|
||||
ION_HEAP_TYPE_SYSTEM_CONTIG = enum_ion_heap_type.define('ION_HEAP_TYPE_SYSTEM_CONTIG', 1)
|
||||
ION_HEAP_TYPE_CARVEOUT = enum_ion_heap_type.define('ION_HEAP_TYPE_CARVEOUT', 2)
|
||||
ION_HEAP_TYPE_CHUNK = enum_ion_heap_type.define('ION_HEAP_TYPE_CHUNK', 3)
|
||||
ION_HEAP_TYPE_DMA = enum_ion_heap_type.define('ION_HEAP_TYPE_DMA', 4)
|
||||
ION_HEAP_TYPE_CUSTOM = enum_ion_heap_type.define('ION_HEAP_TYPE_CUSTOM', 5)
|
||||
ION_NUM_HEAPS = enum_ion_heap_type.define('ION_NUM_HEAPS', 16)
|
||||
|
||||
ion_user_handle_t: TypeAlias = ctypes.c_int32
|
||||
enum_ion_heap_type: dict[int, str] = {(ION_HEAP_TYPE_SYSTEM:=0): 'ION_HEAP_TYPE_SYSTEM', (ION_HEAP_TYPE_SYSTEM_CONTIG:=1): 'ION_HEAP_TYPE_SYSTEM_CONTIG', (ION_HEAP_TYPE_CARVEOUT:=2): 'ION_HEAP_TYPE_CARVEOUT', (ION_HEAP_TYPE_CHUNK:=3): 'ION_HEAP_TYPE_CHUNK', (ION_HEAP_TYPE_DMA:=4): 'ION_HEAP_TYPE_DMA', (ION_HEAP_TYPE_CUSTOM:=5): 'ION_HEAP_TYPE_CUSTOM', (ION_NUM_HEAPS:=16): 'ION_NUM_HEAPS'}
|
||||
@c.record
|
||||
class struct_ion_allocation_data(c.Struct):
|
||||
SIZE = 32
|
||||
len: Annotated[size_t, 0]
|
||||
align: Annotated[size_t, 8]
|
||||
heap_id_mask: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
handle: Annotated[ion_user_handle_t, 24]
|
||||
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
len: int
|
||||
align: int
|
||||
heap_id_mask: int
|
||||
flags: int
|
||||
handle: int
|
||||
size_t: TypeAlias = ctypes.c_uint64
|
||||
struct_ion_allocation_data.register_fields([('len', size_t, 0), ('align', size_t, 8), ('heap_id_mask', ctypes.c_uint32, 16), ('flags', ctypes.c_uint32, 20), ('handle', ion_user_handle_t, 24)])
|
||||
@c.record
|
||||
class struct_ion_fd_data(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[ion_user_handle_t, 0]
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
handle: int
|
||||
fd: int
|
||||
struct_ion_fd_data.register_fields([('handle', ion_user_handle_t, 0), ('fd', ctypes.c_int32, 4)])
|
||||
@c.record
|
||||
class struct_ion_handle_data(c.Struct):
|
||||
SIZE = 4
|
||||
handle: Annotated[ion_user_handle_t, 0]
|
||||
handle: int
|
||||
struct_ion_handle_data.register_fields([('handle', ion_user_handle_t, 0)])
|
||||
@c.record
|
||||
class struct_ion_custom_data(c.Struct):
|
||||
SIZE = 16
|
||||
cmd: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
arg: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
class enum_msm_ion_heap_types(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ION_HEAP_TYPE_MSM_START = enum_msm_ion_heap_types.define('ION_HEAP_TYPE_MSM_START', 6)
|
||||
ION_HEAP_TYPE_SECURE_DMA = enum_msm_ion_heap_types.define('ION_HEAP_TYPE_SECURE_DMA', 6)
|
||||
ION_HEAP_TYPE_SYSTEM_SECURE = enum_msm_ion_heap_types.define('ION_HEAP_TYPE_SYSTEM_SECURE', 7)
|
||||
ION_HEAP_TYPE_HYP_CMA = enum_msm_ion_heap_types.define('ION_HEAP_TYPE_HYP_CMA', 8)
|
||||
|
||||
class enum_ion_heap_ids(Annotated[int, ctypes.c_int32], c.Enum): pass
|
||||
INVALID_HEAP_ID = enum_ion_heap_ids.define('INVALID_HEAP_ID', -1)
|
||||
ION_CP_MM_HEAP_ID = enum_ion_heap_ids.define('ION_CP_MM_HEAP_ID', 8)
|
||||
ION_SECURE_HEAP_ID = enum_ion_heap_ids.define('ION_SECURE_HEAP_ID', 9)
|
||||
ION_SECURE_DISPLAY_HEAP_ID = enum_ion_heap_ids.define('ION_SECURE_DISPLAY_HEAP_ID', 10)
|
||||
ION_CP_MFC_HEAP_ID = enum_ion_heap_ids.define('ION_CP_MFC_HEAP_ID', 12)
|
||||
ION_CP_WB_HEAP_ID = enum_ion_heap_ids.define('ION_CP_WB_HEAP_ID', 16)
|
||||
ION_CAMERA_HEAP_ID = enum_ion_heap_ids.define('ION_CAMERA_HEAP_ID', 20)
|
||||
ION_SYSTEM_CONTIG_HEAP_ID = enum_ion_heap_ids.define('ION_SYSTEM_CONTIG_HEAP_ID', 21)
|
||||
ION_ADSP_HEAP_ID = enum_ion_heap_ids.define('ION_ADSP_HEAP_ID', 22)
|
||||
ION_PIL1_HEAP_ID = enum_ion_heap_ids.define('ION_PIL1_HEAP_ID', 23)
|
||||
ION_SF_HEAP_ID = enum_ion_heap_ids.define('ION_SF_HEAP_ID', 24)
|
||||
ION_SYSTEM_HEAP_ID = enum_ion_heap_ids.define('ION_SYSTEM_HEAP_ID', 25)
|
||||
ION_PIL2_HEAP_ID = enum_ion_heap_ids.define('ION_PIL2_HEAP_ID', 26)
|
||||
ION_QSECOM_HEAP_ID = enum_ion_heap_ids.define('ION_QSECOM_HEAP_ID', 27)
|
||||
ION_AUDIO_HEAP_ID = enum_ion_heap_ids.define('ION_AUDIO_HEAP_ID', 28)
|
||||
ION_MM_FIRMWARE_HEAP_ID = enum_ion_heap_ids.define('ION_MM_FIRMWARE_HEAP_ID', 29)
|
||||
ION_HEAP_ID_RESERVED = enum_ion_heap_ids.define('ION_HEAP_ID_RESERVED', 31)
|
||||
|
||||
class enum_ion_fixed_position(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
NOT_FIXED = enum_ion_fixed_position.define('NOT_FIXED', 0)
|
||||
FIXED_LOW = enum_ion_fixed_position.define('FIXED_LOW', 1)
|
||||
FIXED_MIDDLE = enum_ion_fixed_position.define('FIXED_MIDDLE', 2)
|
||||
FIXED_HIGH = enum_ion_fixed_position.define('FIXED_HIGH', 3)
|
||||
|
||||
class enum_cp_mem_usage(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
VIDEO_BITSTREAM = enum_cp_mem_usage.define('VIDEO_BITSTREAM', 1)
|
||||
VIDEO_PIXEL = enum_cp_mem_usage.define('VIDEO_PIXEL', 2)
|
||||
VIDEO_NONPIXEL = enum_cp_mem_usage.define('VIDEO_NONPIXEL', 3)
|
||||
DISPLAY_SECURE_CP_USAGE = enum_cp_mem_usage.define('DISPLAY_SECURE_CP_USAGE', 4)
|
||||
CAMERA_SECURE_CP_USAGE = enum_cp_mem_usage.define('CAMERA_SECURE_CP_USAGE', 5)
|
||||
MAX_USAGE = enum_cp_mem_usage.define('MAX_USAGE', 6)
|
||||
UNKNOWN = enum_cp_mem_usage.define('UNKNOWN', 2147483647)
|
||||
|
||||
cmd: int
|
||||
arg: int
|
||||
struct_ion_custom_data.register_fields([('cmd', ctypes.c_uint32, 0), ('arg', ctypes.c_uint64, 8)])
|
||||
enum_msm_ion_heap_types: dict[int, str] = {(ION_HEAP_TYPE_MSM_START:=6): 'ION_HEAP_TYPE_MSM_START', (ION_HEAP_TYPE_SECURE_DMA:=6): 'ION_HEAP_TYPE_SECURE_DMA', (ION_HEAP_TYPE_SYSTEM_SECURE:=7): 'ION_HEAP_TYPE_SYSTEM_SECURE', (ION_HEAP_TYPE_HYP_CMA:=8): 'ION_HEAP_TYPE_HYP_CMA'}
|
||||
enum_ion_heap_ids: dict[int, str] = {(INVALID_HEAP_ID:=-1): 'INVALID_HEAP_ID', (ION_CP_MM_HEAP_ID:=8): 'ION_CP_MM_HEAP_ID', (ION_SECURE_HEAP_ID:=9): 'ION_SECURE_HEAP_ID', (ION_SECURE_DISPLAY_HEAP_ID:=10): 'ION_SECURE_DISPLAY_HEAP_ID', (ION_CP_MFC_HEAP_ID:=12): 'ION_CP_MFC_HEAP_ID', (ION_CP_WB_HEAP_ID:=16): 'ION_CP_WB_HEAP_ID', (ION_CAMERA_HEAP_ID:=20): 'ION_CAMERA_HEAP_ID', (ION_SYSTEM_CONTIG_HEAP_ID:=21): 'ION_SYSTEM_CONTIG_HEAP_ID', (ION_ADSP_HEAP_ID:=22): 'ION_ADSP_HEAP_ID', (ION_PIL1_HEAP_ID:=23): 'ION_PIL1_HEAP_ID', (ION_SF_HEAP_ID:=24): 'ION_SF_HEAP_ID', (ION_SYSTEM_HEAP_ID:=25): 'ION_SYSTEM_HEAP_ID', (ION_PIL2_HEAP_ID:=26): 'ION_PIL2_HEAP_ID', (ION_QSECOM_HEAP_ID:=27): 'ION_QSECOM_HEAP_ID', (ION_AUDIO_HEAP_ID:=28): 'ION_AUDIO_HEAP_ID', (ION_MM_FIRMWARE_HEAP_ID:=29): 'ION_MM_FIRMWARE_HEAP_ID', (ION_HEAP_ID_RESERVED:=31): 'ION_HEAP_ID_RESERVED'}
|
||||
enum_ion_fixed_position: dict[int, str] = {(NOT_FIXED:=0): 'NOT_FIXED', (FIXED_LOW:=1): 'FIXED_LOW', (FIXED_MIDDLE:=2): 'FIXED_MIDDLE', (FIXED_HIGH:=3): 'FIXED_HIGH'}
|
||||
enum_cp_mem_usage: dict[int, str] = {(VIDEO_BITSTREAM:=1): 'VIDEO_BITSTREAM', (VIDEO_PIXEL:=2): 'VIDEO_PIXEL', (VIDEO_NONPIXEL:=3): 'VIDEO_NONPIXEL', (DISPLAY_SECURE_CP_USAGE:=4): 'DISPLAY_SECURE_CP_USAGE', (CAMERA_SECURE_CP_USAGE:=5): 'CAMERA_SECURE_CP_USAGE', (MAX_USAGE:=6): 'MAX_USAGE', (UNKNOWN:=2147483647): 'UNKNOWN'}
|
||||
@c.record
|
||||
class struct_ion_flush_data(c.Struct):
|
||||
SIZE = 24
|
||||
handle: Annotated[ion_user_handle_t, 0]
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
vaddr: Annotated[ctypes.c_void_p, 8]
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
length: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
handle: int
|
||||
fd: int
|
||||
vaddr: ctypes.c_void_p
|
||||
offset: int
|
||||
length: int
|
||||
struct_ion_flush_data.register_fields([('handle', ion_user_handle_t, 0), ('fd', ctypes.c_int32, 4), ('vaddr', ctypes.c_void_p, 8), ('offset', ctypes.c_uint32, 16), ('length', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_ion_prefetch_regions(c.Struct):
|
||||
SIZE = 24
|
||||
vmid: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
sizes: Annotated[c.POINTER[size_t], 8]
|
||||
nr_sizes: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
vmid: int
|
||||
sizes: c.POINTER[ctypes.c_uint64]
|
||||
nr_sizes: int
|
||||
struct_ion_prefetch_regions.register_fields([('vmid', ctypes.c_uint32, 0), ('sizes', c.POINTER[size_t], 8), ('nr_sizes', ctypes.c_uint32, 16)])
|
||||
@c.record
|
||||
class struct_ion_prefetch_data(c.Struct):
|
||||
SIZE = 32
|
||||
heap_id: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
len: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
regions: Annotated[c.POINTER[struct_ion_prefetch_regions], 16]
|
||||
nr_regions: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
heap_id: int
|
||||
len: int
|
||||
regions: c.POINTER[struct_ion_prefetch_regions]
|
||||
nr_regions: int
|
||||
struct_ion_prefetch_data.register_fields([('heap_id', ctypes.c_int32, 0), ('len', ctypes.c_uint64, 8), ('regions', c.POINTER[struct_ion_prefetch_regions], 16), ('nr_regions', ctypes.c_uint32, 24)])
|
||||
@c.record
|
||||
class struct_remote_buf64(c.Struct):
|
||||
SIZE = 16
|
||||
pv: Annotated[uint64_t, 0]
|
||||
len: Annotated[uint64_t, 8]
|
||||
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
pv: int
|
||||
len: int
|
||||
uint64_t: TypeAlias = ctypes.c_uint64
|
||||
struct_remote_buf64.register_fields([('pv', uint64_t, 0), ('len', uint64_t, 8)])
|
||||
@c.record
|
||||
class struct_remote_dma_handle64(c.Struct):
|
||||
SIZE = 12
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
offset: Annotated[uint32_t, 4]
|
||||
len: Annotated[uint32_t, 8]
|
||||
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
fd: int
|
||||
offset: int
|
||||
len: int
|
||||
uint32_t: TypeAlias = ctypes.c_uint32
|
||||
struct_remote_dma_handle64.register_fields([('fd', ctypes.c_int32, 0), ('offset', uint32_t, 4), ('len', uint32_t, 8)])
|
||||
@c.record
|
||||
class union_remote_arg64(c.Struct):
|
||||
SIZE = 16
|
||||
buf: Annotated[struct_remote_buf64, 0]
|
||||
dma: Annotated[struct_remote_dma_handle64, 0]
|
||||
h: Annotated[uint32_t, 0]
|
||||
buf: struct_remote_buf64
|
||||
dma: struct_remote_dma_handle64
|
||||
h: int
|
||||
union_remote_arg64.register_fields([('buf', struct_remote_buf64, 0), ('dma', struct_remote_dma_handle64, 0), ('h', uint32_t, 0)])
|
||||
@c.record
|
||||
class struct_remote_buf(c.Struct):
|
||||
SIZE = 16
|
||||
pv: Annotated[ctypes.c_void_p, 0]
|
||||
len: Annotated[size_t, 8]
|
||||
pv: ctypes.c_void_p
|
||||
len: int
|
||||
struct_remote_buf.register_fields([('pv', ctypes.c_void_p, 0), ('len', size_t, 8)])
|
||||
@c.record
|
||||
class struct_remote_dma_handle(c.Struct):
|
||||
SIZE = 8
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
offset: Annotated[uint32_t, 4]
|
||||
fd: int
|
||||
offset: int
|
||||
struct_remote_dma_handle.register_fields([('fd', ctypes.c_int32, 0), ('offset', uint32_t, 4)])
|
||||
@c.record
|
||||
class union_remote_arg(c.Struct):
|
||||
SIZE = 16
|
||||
buf: Annotated[struct_remote_buf, 0]
|
||||
dma: Annotated[struct_remote_dma_handle, 0]
|
||||
h: Annotated[uint32_t, 0]
|
||||
buf: struct_remote_buf
|
||||
dma: struct_remote_dma_handle
|
||||
h: int
|
||||
union_remote_arg.register_fields([('buf', struct_remote_buf, 0), ('dma', struct_remote_dma_handle, 0), ('h', uint32_t, 0)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_invoke(c.Struct):
|
||||
SIZE = 16
|
||||
handle: Annotated[uint32_t, 0]
|
||||
sc: Annotated[uint32_t, 4]
|
||||
pra: Annotated[c.POINTER[union_remote_arg], 8]
|
||||
handle: int
|
||||
sc: int
|
||||
pra: c.POINTER[union_remote_arg]
|
||||
struct_fastrpc_ioctl_invoke.register_fields([('handle', uint32_t, 0), ('sc', uint32_t, 4), ('pra', c.POINTER[union_remote_arg], 8)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_invoke_fd(c.Struct):
|
||||
SIZE = 24
|
||||
inv: Annotated[struct_fastrpc_ioctl_invoke, 0]
|
||||
fds: Annotated[c.POINTER[Annotated[int, ctypes.c_int32]], 16]
|
||||
inv: struct_fastrpc_ioctl_invoke
|
||||
fds: c.POINTER[ctypes.c_int32]
|
||||
struct_fastrpc_ioctl_invoke_fd.register_fields([('inv', struct_fastrpc_ioctl_invoke, 0), ('fds', c.POINTER[ctypes.c_int32], 16)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_invoke_attrs(c.Struct):
|
||||
SIZE = 32
|
||||
inv: Annotated[struct_fastrpc_ioctl_invoke, 0]
|
||||
fds: Annotated[c.POINTER[Annotated[int, ctypes.c_int32]], 16]
|
||||
attrs: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 24]
|
||||
inv: struct_fastrpc_ioctl_invoke
|
||||
fds: c.POINTER[ctypes.c_int32]
|
||||
attrs: c.POINTER[ctypes.c_uint32]
|
||||
struct_fastrpc_ioctl_invoke_attrs.register_fields([('inv', struct_fastrpc_ioctl_invoke, 0), ('fds', c.POINTER[ctypes.c_int32], 16), ('attrs', c.POINTER[ctypes.c_uint32], 24)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_invoke_crc(c.Struct):
|
||||
SIZE = 40
|
||||
inv: Annotated[struct_fastrpc_ioctl_invoke, 0]
|
||||
fds: Annotated[c.POINTER[Annotated[int, ctypes.c_int32]], 16]
|
||||
attrs: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 24]
|
||||
crc: Annotated[c.POINTER[Annotated[int, ctypes.c_uint32]], 32]
|
||||
inv: struct_fastrpc_ioctl_invoke
|
||||
fds: c.POINTER[ctypes.c_int32]
|
||||
attrs: c.POINTER[ctypes.c_uint32]
|
||||
crc: c.POINTER[ctypes.c_uint32]
|
||||
struct_fastrpc_ioctl_invoke_crc.register_fields([('inv', struct_fastrpc_ioctl_invoke, 0), ('fds', c.POINTER[ctypes.c_int32], 16), ('attrs', c.POINTER[ctypes.c_uint32], 24), ('crc', c.POINTER[ctypes.c_uint32], 32)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_init(c.Struct):
|
||||
SIZE = 40
|
||||
flags: Annotated[uint32_t, 0]
|
||||
file: Annotated[uintptr_t, 8]
|
||||
filelen: Annotated[uint32_t, 16]
|
||||
filefd: Annotated[int32_t, 20]
|
||||
mem: Annotated[uintptr_t, 24]
|
||||
memlen: Annotated[uint32_t, 32]
|
||||
memfd: Annotated[int32_t, 36]
|
||||
uintptr_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
int32_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
flags: int
|
||||
file: int
|
||||
filelen: int
|
||||
filefd: int
|
||||
mem: int
|
||||
memlen: int
|
||||
memfd: int
|
||||
uintptr_t: TypeAlias = ctypes.c_uint64
|
||||
int32_t: TypeAlias = ctypes.c_int32
|
||||
struct_fastrpc_ioctl_init.register_fields([('flags', uint32_t, 0), ('file', uintptr_t, 8), ('filelen', uint32_t, 16), ('filefd', int32_t, 20), ('mem', uintptr_t, 24), ('memlen', uint32_t, 32), ('memfd', int32_t, 36)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_init_attrs(c.Struct):
|
||||
SIZE = 48
|
||||
init: Annotated[struct_fastrpc_ioctl_init, 0]
|
||||
attrs: Annotated[Annotated[int, ctypes.c_int32], 40]
|
||||
siglen: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
||||
init: struct_fastrpc_ioctl_init
|
||||
attrs: int
|
||||
siglen: int
|
||||
struct_fastrpc_ioctl_init_attrs.register_fields([('init', struct_fastrpc_ioctl_init, 0), ('attrs', ctypes.c_int32, 40), ('siglen', ctypes.c_uint32, 44)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_munmap(c.Struct):
|
||||
SIZE = 16
|
||||
vaddrout: Annotated[uintptr_t, 0]
|
||||
size: Annotated[size_t, 8]
|
||||
vaddrout: int
|
||||
size: int
|
||||
struct_fastrpc_ioctl_munmap.register_fields([('vaddrout', uintptr_t, 0), ('size', size_t, 8)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_munmap_64(c.Struct):
|
||||
SIZE = 16
|
||||
vaddrout: Annotated[uint64_t, 0]
|
||||
size: Annotated[size_t, 8]
|
||||
vaddrout: int
|
||||
size: int
|
||||
struct_fastrpc_ioctl_munmap_64.register_fields([('vaddrout', uint64_t, 0), ('size', size_t, 8)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_mmap(c.Struct):
|
||||
SIZE = 32
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
flags: Annotated[uint32_t, 4]
|
||||
vaddrin: Annotated[uintptr_t, 8]
|
||||
size: Annotated[size_t, 16]
|
||||
vaddrout: Annotated[uintptr_t, 24]
|
||||
fd: int
|
||||
flags: int
|
||||
vaddrin: int
|
||||
size: int
|
||||
vaddrout: int
|
||||
struct_fastrpc_ioctl_mmap.register_fields([('fd', ctypes.c_int32, 0), ('flags', uint32_t, 4), ('vaddrin', uintptr_t, 8), ('size', size_t, 16), ('vaddrout', uintptr_t, 24)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_mmap_64(c.Struct):
|
||||
SIZE = 32
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
flags: Annotated[uint32_t, 4]
|
||||
vaddrin: Annotated[uint64_t, 8]
|
||||
size: Annotated[size_t, 16]
|
||||
vaddrout: Annotated[uint64_t, 24]
|
||||
fd: int
|
||||
flags: int
|
||||
vaddrin: int
|
||||
size: int
|
||||
vaddrout: int
|
||||
struct_fastrpc_ioctl_mmap_64.register_fields([('fd', ctypes.c_int32, 0), ('flags', uint32_t, 4), ('vaddrin', uint64_t, 8), ('size', size_t, 16), ('vaddrout', uint64_t, 24)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_munmap_fd(c.Struct):
|
||||
SIZE = 24
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
flags: Annotated[uint32_t, 4]
|
||||
va: Annotated[uintptr_t, 8]
|
||||
len: Annotated[ssize_t, 16]
|
||||
ssize_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
fd: int
|
||||
flags: int
|
||||
va: int
|
||||
len: int
|
||||
ssize_t: TypeAlias = ctypes.c_int64
|
||||
struct_fastrpc_ioctl_munmap_fd.register_fields([('fd', ctypes.c_int32, 0), ('flags', uint32_t, 4), ('va', uintptr_t, 8), ('len', ssize_t, 16)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_perf(c.Struct):
|
||||
SIZE = 24
|
||||
data: Annotated[uintptr_t, 0]
|
||||
numkeys: Annotated[uint32_t, 8]
|
||||
keys: Annotated[uintptr_t, 16]
|
||||
data: int
|
||||
numkeys: int
|
||||
keys: int
|
||||
struct_fastrpc_ioctl_perf.register_fields([('data', uintptr_t, 0), ('numkeys', uint32_t, 8), ('keys', uintptr_t, 16)])
|
||||
@c.record
|
||||
class struct_fastrpc_ctrl_latency(c.Struct):
|
||||
SIZE = 8
|
||||
enable: Annotated[uint32_t, 0]
|
||||
level: Annotated[uint32_t, 4]
|
||||
enable: int
|
||||
level: int
|
||||
struct_fastrpc_ctrl_latency.register_fields([('enable', uint32_t, 0), ('level', uint32_t, 4)])
|
||||
@c.record
|
||||
class struct_fastrpc_ctrl_smmu(c.Struct):
|
||||
SIZE = 4
|
||||
sharedcb: Annotated[uint32_t, 0]
|
||||
sharedcb: int
|
||||
struct_fastrpc_ctrl_smmu.register_fields([('sharedcb', uint32_t, 0)])
|
||||
@c.record
|
||||
class struct_fastrpc_ctrl_kalloc(c.Struct):
|
||||
SIZE = 4
|
||||
kalloc_support: Annotated[uint32_t, 0]
|
||||
kalloc_support: int
|
||||
struct_fastrpc_ctrl_kalloc.register_fields([('kalloc_support', uint32_t, 0)])
|
||||
@c.record
|
||||
class struct_fastrpc_ioctl_control(c.Struct):
|
||||
SIZE = 12
|
||||
req: Annotated[uint32_t, 0]
|
||||
lp: Annotated[struct_fastrpc_ctrl_latency, 4]
|
||||
smmu: Annotated[struct_fastrpc_ctrl_smmu, 4]
|
||||
kalloc: Annotated[struct_fastrpc_ctrl_kalloc, 4]
|
||||
req: int
|
||||
lp: struct_fastrpc_ctrl_latency
|
||||
smmu: struct_fastrpc_ctrl_smmu
|
||||
kalloc: struct_fastrpc_ctrl_kalloc
|
||||
struct_fastrpc_ioctl_control.register_fields([('req', uint32_t, 0), ('lp', struct_fastrpc_ctrl_latency, 4), ('smmu', struct_fastrpc_ctrl_smmu, 4), ('kalloc', struct_fastrpc_ctrl_kalloc, 4)])
|
||||
@c.record
|
||||
class struct_smq_null_invoke(c.Struct):
|
||||
SIZE = 16
|
||||
ctx: Annotated[uint64_t, 0]
|
||||
handle: Annotated[uint32_t, 8]
|
||||
sc: Annotated[uint32_t, 12]
|
||||
ctx: int
|
||||
handle: int
|
||||
sc: int
|
||||
struct_smq_null_invoke.register_fields([('ctx', uint64_t, 0), ('handle', uint32_t, 8), ('sc', uint32_t, 12)])
|
||||
@c.record
|
||||
class struct_smq_phy_page(c.Struct):
|
||||
SIZE = 16
|
||||
addr: Annotated[uint64_t, 0]
|
||||
size: Annotated[uint64_t, 8]
|
||||
addr: int
|
||||
size: int
|
||||
struct_smq_phy_page.register_fields([('addr', uint64_t, 0), ('size', uint64_t, 8)])
|
||||
@c.record
|
||||
class struct_smq_invoke_buf(c.Struct):
|
||||
SIZE = 8
|
||||
num: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
pgidx: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
num: int
|
||||
pgidx: int
|
||||
struct_smq_invoke_buf.register_fields([('num', ctypes.c_int32, 0), ('pgidx', ctypes.c_int32, 4)])
|
||||
@c.record
|
||||
class struct_smq_invoke(c.Struct):
|
||||
SIZE = 32
|
||||
header: Annotated[struct_smq_null_invoke, 0]
|
||||
page: Annotated[struct_smq_phy_page, 16]
|
||||
header: struct_smq_null_invoke
|
||||
page: struct_smq_phy_page
|
||||
struct_smq_invoke.register_fields([('header', struct_smq_null_invoke, 0), ('page', struct_smq_phy_page, 16)])
|
||||
@c.record
|
||||
class struct_smq_msg(c.Struct):
|
||||
SIZE = 40
|
||||
pid: Annotated[uint32_t, 0]
|
||||
tid: Annotated[uint32_t, 4]
|
||||
invoke: Annotated[struct_smq_invoke, 8]
|
||||
pid: int
|
||||
tid: int
|
||||
invoke: struct_smq_invoke
|
||||
struct_smq_msg.register_fields([('pid', uint32_t, 0), ('tid', uint32_t, 4), ('invoke', struct_smq_invoke, 8)])
|
||||
@c.record
|
||||
class struct_smq_invoke_rsp(c.Struct):
|
||||
SIZE = 16
|
||||
ctx: Annotated[uint64_t, 0]
|
||||
retval: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
remote_handle: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
remote_handle64: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
fastrpc_async_jobid: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
ctx: int
|
||||
retval: int
|
||||
struct_smq_invoke_rsp.register_fields([('ctx', uint64_t, 0), ('retval', ctypes.c_int32, 8)])
|
||||
remote_handle: TypeAlias = ctypes.c_uint32
|
||||
remote_handle64: TypeAlias = ctypes.c_uint64
|
||||
fastrpc_async_jobid: TypeAlias = ctypes.c_uint64
|
||||
@c.record
|
||||
class remote_buf(c.Struct):
|
||||
SIZE = 16
|
||||
pv: Annotated[ctypes.c_void_p, 0]
|
||||
nLen: Annotated[size_t, 8]
|
||||
pv: ctypes.c_void_p
|
||||
nLen: int
|
||||
remote_buf.register_fields([('pv', ctypes.c_void_p, 0), ('nLen', size_t, 8)])
|
||||
@c.record
|
||||
class remote_dma_handle(c.Struct):
|
||||
SIZE = 8
|
||||
fd: Annotated[int32_t, 0]
|
||||
offset: Annotated[uint32_t, 4]
|
||||
fd: int
|
||||
offset: int
|
||||
remote_dma_handle.register_fields([('fd', int32_t, 0), ('offset', uint32_t, 4)])
|
||||
@c.record
|
||||
class remote_arg(c.Struct):
|
||||
SIZE = 16
|
||||
buf: Annotated[remote_buf, 0]
|
||||
h: Annotated[remote_handle, 0]
|
||||
h64: Annotated[remote_handle64, 0]
|
||||
dma: Annotated[remote_dma_handle, 0]
|
||||
class enum_fastrpc_async_notify_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
FASTRPC_ASYNC_NO_SYNC = enum_fastrpc_async_notify_type.define('FASTRPC_ASYNC_NO_SYNC', 0)
|
||||
FASTRPC_ASYNC_CALLBACK = enum_fastrpc_async_notify_type.define('FASTRPC_ASYNC_CALLBACK', 1)
|
||||
FASTRPC_ASYNC_POLL = enum_fastrpc_async_notify_type.define('FASTRPC_ASYNC_POLL', 2)
|
||||
FASTRPC_ASYNC_TYPE_MAX = enum_fastrpc_async_notify_type.define('FASTRPC_ASYNC_TYPE_MAX', 3)
|
||||
|
||||
buf: remote_buf
|
||||
h: int
|
||||
h64: int
|
||||
dma: remote_dma_handle
|
||||
remote_arg.register_fields([('buf', remote_buf, 0), ('h', remote_handle, 0), ('h64', remote_handle64, 0), ('dma', remote_dma_handle, 0)])
|
||||
enum_fastrpc_async_notify_type: dict[int, str] = {(FASTRPC_ASYNC_NO_SYNC:=0): 'FASTRPC_ASYNC_NO_SYNC', (FASTRPC_ASYNC_CALLBACK:=1): 'FASTRPC_ASYNC_CALLBACK', (FASTRPC_ASYNC_POLL:=2): 'FASTRPC_ASYNC_POLL', (FASTRPC_ASYNC_TYPE_MAX:=3): 'FASTRPC_ASYNC_TYPE_MAX'}
|
||||
@c.record
|
||||
class struct_fastrpc_async_callback(c.Struct):
|
||||
SIZE = 16
|
||||
fn: Annotated[c.CFUNCTYPE[None, [fastrpc_async_jobid, ctypes.c_void_p, Annotated[int, ctypes.c_int32]]], 0]
|
||||
context: Annotated[ctypes.c_void_p, 8]
|
||||
fn: c.CFUNCTYPE[None, [ctypes.c_uint64, ctypes.c_void_p, ctypes.c_int32]]
|
||||
context: ctypes.c_void_p
|
||||
struct_fastrpc_async_callback.register_fields([('fn', c.CFUNCTYPE[None, [fastrpc_async_jobid, ctypes.c_void_p, ctypes.c_int32]], 0), ('context', ctypes.c_void_p, 8)])
|
||||
fastrpc_async_callback_t: TypeAlias = struct_fastrpc_async_callback
|
||||
@c.record
|
||||
class struct_fastrpc_async_descriptor(c.Struct):
|
||||
SIZE = 32
|
||||
type: Annotated[enum_fastrpc_async_notify_type, 0]
|
||||
jobid: Annotated[fastrpc_async_jobid, 8]
|
||||
cb: Annotated[fastrpc_async_callback_t, 16]
|
||||
type: int
|
||||
jobid: int
|
||||
cb: struct_fastrpc_async_callback
|
||||
struct_fastrpc_async_descriptor.register_fields([('type', ctypes.c_uint32, 0), ('jobid', fastrpc_async_jobid, 8), ('cb', fastrpc_async_callback_t, 16)])
|
||||
fastrpc_async_descriptor_t: TypeAlias = struct_fastrpc_async_descriptor
|
||||
class enum_fastrpc_process_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
PROCESS_TYPE_SIGNED = enum_fastrpc_process_type.define('PROCESS_TYPE_SIGNED', 0)
|
||||
PROCESS_TYPE_UNSIGNED = enum_fastrpc_process_type.define('PROCESS_TYPE_UNSIGNED', 1)
|
||||
|
||||
class enum_handle_control_req_id(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
DSPRPC_CONTROL_LATENCY = enum_handle_control_req_id.define('DSPRPC_CONTROL_LATENCY', 1)
|
||||
DSPRPC_GET_DSP_INFO = enum_handle_control_req_id.define('DSPRPC_GET_DSP_INFO', 2)
|
||||
DSPRPC_CONTROL_WAKELOCK = enum_handle_control_req_id.define('DSPRPC_CONTROL_WAKELOCK', 3)
|
||||
DSPRPC_GET_DOMAIN = enum_handle_control_req_id.define('DSPRPC_GET_DOMAIN', 4)
|
||||
|
||||
class enum_remote_rpc_latency_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
RPC_DISABLE_QOS = enum_remote_rpc_latency_flags.define('RPC_DISABLE_QOS', 0)
|
||||
RPC_PM_QOS = enum_remote_rpc_latency_flags.define('RPC_PM_QOS', 1)
|
||||
RPC_ADAPTIVE_QOS = enum_remote_rpc_latency_flags.define('RPC_ADAPTIVE_QOS', 2)
|
||||
RPC_POLL_QOS = enum_remote_rpc_latency_flags.define('RPC_POLL_QOS', 3)
|
||||
|
||||
remote_rpc_control_latency_t: TypeAlias = enum_remote_rpc_latency_flags
|
||||
enum_fastrpc_process_type: dict[int, str] = {(PROCESS_TYPE_SIGNED:=0): 'PROCESS_TYPE_SIGNED', (PROCESS_TYPE_UNSIGNED:=1): 'PROCESS_TYPE_UNSIGNED'}
|
||||
enum_handle_control_req_id: dict[int, str] = {(DSPRPC_CONTROL_LATENCY:=1): 'DSPRPC_CONTROL_LATENCY', (DSPRPC_GET_DSP_INFO:=2): 'DSPRPC_GET_DSP_INFO', (DSPRPC_CONTROL_WAKELOCK:=3): 'DSPRPC_CONTROL_WAKELOCK', (DSPRPC_GET_DOMAIN:=4): 'DSPRPC_GET_DOMAIN'}
|
||||
enum_remote_rpc_latency_flags: dict[int, str] = {(RPC_DISABLE_QOS:=0): 'RPC_DISABLE_QOS', (RPC_PM_QOS:=1): 'RPC_PM_QOS', (RPC_ADAPTIVE_QOS:=2): 'RPC_ADAPTIVE_QOS', (RPC_POLL_QOS:=3): 'RPC_POLL_QOS'}
|
||||
remote_rpc_control_latency_t: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class struct_remote_rpc_control_latency(c.Struct):
|
||||
SIZE = 8
|
||||
enable: Annotated[remote_rpc_control_latency_t, 0]
|
||||
latency: Annotated[uint32_t, 4]
|
||||
class enum_remote_dsp_attributes(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
DOMAIN_SUPPORT = enum_remote_dsp_attributes.define('DOMAIN_SUPPORT', 0)
|
||||
UNSIGNED_PD_SUPPORT = enum_remote_dsp_attributes.define('UNSIGNED_PD_SUPPORT', 1)
|
||||
HVX_SUPPORT_64B = enum_remote_dsp_attributes.define('HVX_SUPPORT_64B', 2)
|
||||
HVX_SUPPORT_128B = enum_remote_dsp_attributes.define('HVX_SUPPORT_128B', 3)
|
||||
VTCM_PAGE = enum_remote_dsp_attributes.define('VTCM_PAGE', 4)
|
||||
VTCM_COUNT = enum_remote_dsp_attributes.define('VTCM_COUNT', 5)
|
||||
ARCH_VER = enum_remote_dsp_attributes.define('ARCH_VER', 6)
|
||||
HMX_SUPPORT_DEPTH = enum_remote_dsp_attributes.define('HMX_SUPPORT_DEPTH', 7)
|
||||
HMX_SUPPORT_SPATIAL = enum_remote_dsp_attributes.define('HMX_SUPPORT_SPATIAL', 8)
|
||||
ASYNC_FASTRPC_SUPPORT = enum_remote_dsp_attributes.define('ASYNC_FASTRPC_SUPPORT', 9)
|
||||
STATUS_NOTIFICATION_SUPPORT = enum_remote_dsp_attributes.define('STATUS_NOTIFICATION_SUPPORT', 10)
|
||||
FASTRPC_MAX_DSP_ATTRIBUTES = enum_remote_dsp_attributes.define('FASTRPC_MAX_DSP_ATTRIBUTES', 11)
|
||||
|
||||
enable: int
|
||||
latency: int
|
||||
struct_remote_rpc_control_latency.register_fields([('enable', remote_rpc_control_latency_t, 0), ('latency', uint32_t, 4)])
|
||||
enum_remote_dsp_attributes: dict[int, str] = {(DOMAIN_SUPPORT:=0): 'DOMAIN_SUPPORT', (UNSIGNED_PD_SUPPORT:=1): 'UNSIGNED_PD_SUPPORT', (HVX_SUPPORT_64B:=2): 'HVX_SUPPORT_64B', (HVX_SUPPORT_128B:=3): 'HVX_SUPPORT_128B', (VTCM_PAGE:=4): 'VTCM_PAGE', (VTCM_COUNT:=5): 'VTCM_COUNT', (ARCH_VER:=6): 'ARCH_VER', (HMX_SUPPORT_DEPTH:=7): 'HMX_SUPPORT_DEPTH', (HMX_SUPPORT_SPATIAL:=8): 'HMX_SUPPORT_SPATIAL', (ASYNC_FASTRPC_SUPPORT:=9): 'ASYNC_FASTRPC_SUPPORT', (STATUS_NOTIFICATION_SUPPORT:=10): 'STATUS_NOTIFICATION_SUPPORT', (FASTRPC_MAX_DSP_ATTRIBUTES:=11): 'FASTRPC_MAX_DSP_ATTRIBUTES'}
|
||||
@c.record
|
||||
class struct_remote_dsp_capability(c.Struct):
|
||||
SIZE = 12
|
||||
domain: Annotated[uint32_t, 0]
|
||||
attribute_ID: Annotated[uint32_t, 4]
|
||||
capability: Annotated[uint32_t, 8]
|
||||
domain: int
|
||||
attribute_ID: int
|
||||
capability: int
|
||||
struct_remote_dsp_capability.register_fields([('domain', uint32_t, 0), ('attribute_ID', uint32_t, 4), ('capability', uint32_t, 8)])
|
||||
fastrpc_capability: TypeAlias = struct_remote_dsp_capability
|
||||
@c.record
|
||||
class struct_remote_rpc_control_wakelock(c.Struct):
|
||||
SIZE = 4
|
||||
enable: Annotated[uint32_t, 0]
|
||||
enable: int
|
||||
struct_remote_rpc_control_wakelock.register_fields([('enable', uint32_t, 0)])
|
||||
@c.record
|
||||
class struct_remote_rpc_get_domain(c.Struct):
|
||||
SIZE = 4
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
domain: int
|
||||
struct_remote_rpc_get_domain.register_fields([('domain', ctypes.c_int32, 0)])
|
||||
remote_rpc_get_domain_t: TypeAlias = struct_remote_rpc_get_domain
|
||||
class enum_session_control_req_id(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
FASTRPC_THREAD_PARAMS = enum_session_control_req_id.define('FASTRPC_THREAD_PARAMS', 1)
|
||||
DSPRPC_CONTROL_UNSIGNED_MODULE = enum_session_control_req_id.define('DSPRPC_CONTROL_UNSIGNED_MODULE', 2)
|
||||
FASTRPC_RELATIVE_THREAD_PRIORITY = enum_session_control_req_id.define('FASTRPC_RELATIVE_THREAD_PRIORITY', 4)
|
||||
FASTRPC_REMOTE_PROCESS_KILL = enum_session_control_req_id.define('FASTRPC_REMOTE_PROCESS_KILL', 6)
|
||||
FASTRPC_SESSION_CLOSE = enum_session_control_req_id.define('FASTRPC_SESSION_CLOSE', 7)
|
||||
FASTRPC_CONTROL_PD_DUMP = enum_session_control_req_id.define('FASTRPC_CONTROL_PD_DUMP', 8)
|
||||
FASTRPC_REMOTE_PROCESS_EXCEPTION = enum_session_control_req_id.define('FASTRPC_REMOTE_PROCESS_EXCEPTION', 9)
|
||||
FASTRPC_REMOTE_PROCESS_TYPE = enum_session_control_req_id.define('FASTRPC_REMOTE_PROCESS_TYPE', 10)
|
||||
FASTRPC_REGISTER_STATUS_NOTIFICATIONS = enum_session_control_req_id.define('FASTRPC_REGISTER_STATUS_NOTIFICATIONS', 11)
|
||||
|
||||
enum_session_control_req_id: dict[int, str] = {(FASTRPC_THREAD_PARAMS:=1): 'FASTRPC_THREAD_PARAMS', (DSPRPC_CONTROL_UNSIGNED_MODULE:=2): 'DSPRPC_CONTROL_UNSIGNED_MODULE', (FASTRPC_RELATIVE_THREAD_PRIORITY:=4): 'FASTRPC_RELATIVE_THREAD_PRIORITY', (FASTRPC_REMOTE_PROCESS_KILL:=6): 'FASTRPC_REMOTE_PROCESS_KILL', (FASTRPC_SESSION_CLOSE:=7): 'FASTRPC_SESSION_CLOSE', (FASTRPC_CONTROL_PD_DUMP:=8): 'FASTRPC_CONTROL_PD_DUMP', (FASTRPC_REMOTE_PROCESS_EXCEPTION:=9): 'FASTRPC_REMOTE_PROCESS_EXCEPTION', (FASTRPC_REMOTE_PROCESS_TYPE:=10): 'FASTRPC_REMOTE_PROCESS_TYPE', (FASTRPC_REGISTER_STATUS_NOTIFICATIONS:=11): 'FASTRPC_REGISTER_STATUS_NOTIFICATIONS'}
|
||||
@c.record
|
||||
class struct_remote_rpc_thread_params(c.Struct):
|
||||
SIZE = 12
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
prio: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
stack_size: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
domain: int
|
||||
prio: int
|
||||
stack_size: int
|
||||
struct_remote_rpc_thread_params.register_fields([('domain', ctypes.c_int32, 0), ('prio', ctypes.c_int32, 4), ('stack_size', ctypes.c_int32, 8)])
|
||||
@c.record
|
||||
class struct_remote_rpc_control_unsigned_module(c.Struct):
|
||||
SIZE = 8
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
enable: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
domain: int
|
||||
enable: int
|
||||
struct_remote_rpc_control_unsigned_module.register_fields([('domain', ctypes.c_int32, 0), ('enable', ctypes.c_int32, 4)])
|
||||
@c.record
|
||||
class struct_remote_rpc_relative_thread_priority(c.Struct):
|
||||
SIZE = 8
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
relative_thread_priority: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
domain: int
|
||||
relative_thread_priority: int
|
||||
struct_remote_rpc_relative_thread_priority.register_fields([('domain', ctypes.c_int32, 0), ('relative_thread_priority', ctypes.c_int32, 4)])
|
||||
@c.record
|
||||
class struct_remote_rpc_process_clean_params(c.Struct):
|
||||
SIZE = 4
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
domain: int
|
||||
struct_remote_rpc_process_clean_params.register_fields([('domain', ctypes.c_int32, 0)])
|
||||
@c.record
|
||||
class struct_remote_rpc_session_close(c.Struct):
|
||||
SIZE = 4
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
domain: int
|
||||
struct_remote_rpc_session_close.register_fields([('domain', ctypes.c_int32, 0)])
|
||||
@c.record
|
||||
class struct_remote_rpc_control_pd_dump(c.Struct):
|
||||
SIZE = 8
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
enable: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
domain: int
|
||||
enable: int
|
||||
struct_remote_rpc_control_pd_dump.register_fields([('domain', ctypes.c_int32, 0), ('enable', ctypes.c_int32, 4)])
|
||||
@c.record
|
||||
class struct_remote_process_type(c.Struct):
|
||||
SIZE = 8
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
process_type: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
domain: int
|
||||
process_type: int
|
||||
struct_remote_process_type.register_fields([('domain', ctypes.c_int32, 0), ('process_type', ctypes.c_int32, 4)])
|
||||
remote_rpc_process_exception: TypeAlias = struct_remote_rpc_process_clean_params
|
||||
class enum_remote_rpc_status_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
FASTRPC_USER_PD_UP = enum_remote_rpc_status_flags.define('FASTRPC_USER_PD_UP', 0)
|
||||
FASTRPC_USER_PD_EXIT = enum_remote_rpc_status_flags.define('FASTRPC_USER_PD_EXIT', 1)
|
||||
FASTRPC_USER_PD_FORCE_KILL = enum_remote_rpc_status_flags.define('FASTRPC_USER_PD_FORCE_KILL', 2)
|
||||
FASTRPC_USER_PD_EXCEPTION = enum_remote_rpc_status_flags.define('FASTRPC_USER_PD_EXCEPTION', 3)
|
||||
FASTRPC_DSP_SSR = enum_remote_rpc_status_flags.define('FASTRPC_DSP_SSR', 4)
|
||||
|
||||
remote_rpc_status_flags_t: TypeAlias = enum_remote_rpc_status_flags
|
||||
fastrpc_notif_fn_t: TypeAlias = c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [ctypes.c_void_p, Annotated[int, ctypes.c_int32], Annotated[int, ctypes.c_int32], enum_remote_rpc_status_flags]]
|
||||
enum_remote_rpc_status_flags: dict[int, str] = {(FASTRPC_USER_PD_UP:=0): 'FASTRPC_USER_PD_UP', (FASTRPC_USER_PD_EXIT:=1): 'FASTRPC_USER_PD_EXIT', (FASTRPC_USER_PD_FORCE_KILL:=2): 'FASTRPC_USER_PD_FORCE_KILL', (FASTRPC_USER_PD_EXCEPTION:=3): 'FASTRPC_USER_PD_EXCEPTION', (FASTRPC_DSP_SSR:=4): 'FASTRPC_DSP_SSR'}
|
||||
remote_rpc_status_flags_t: TypeAlias = ctypes.c_uint32
|
||||
fastrpc_notif_fn_t: TypeAlias = c.CFUNCTYPE[ctypes.c_int32, [ctypes.c_void_p, ctypes.c_int32, ctypes.c_int32, ctypes.c_uint32]]
|
||||
@c.record
|
||||
class struct_remote_rpc_notif_register(c.Struct):
|
||||
SIZE = 24
|
||||
context: Annotated[ctypes.c_void_p, 0]
|
||||
domain: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
notifier_fn: Annotated[fastrpc_notif_fn_t, 16]
|
||||
context: ctypes.c_void_p
|
||||
domain: int
|
||||
notifier_fn: c.CFUNCTYPE[ctypes.c_int32, [ctypes.c_void_p, ctypes.c_int32, ctypes.c_int32, ctypes.c_uint32]]
|
||||
struct_remote_rpc_notif_register.register_fields([('context', ctypes.c_void_p, 0), ('domain', ctypes.c_int32, 8), ('notifier_fn', fastrpc_notif_fn_t, 16)])
|
||||
remote_rpc_notif_register_t: TypeAlias = struct_remote_rpc_notif_register
|
||||
class enum_remote_mem_map_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
REMOTE_MAP_MEM_STATIC = enum_remote_mem_map_flags.define('REMOTE_MAP_MEM_STATIC', 0)
|
||||
REMOTE_MAP_MAX_FLAG = enum_remote_mem_map_flags.define('REMOTE_MAP_MAX_FLAG', 1)
|
||||
|
||||
class enum_remote_buf_attributes(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
FASTRPC_ATTR_NON_COHERENT = enum_remote_buf_attributes.define('FASTRPC_ATTR_NON_COHERENT', 2)
|
||||
FASTRPC_ATTR_COHERENT = enum_remote_buf_attributes.define('FASTRPC_ATTR_COHERENT', 4)
|
||||
FASTRPC_ATTR_KEEP_MAP = enum_remote_buf_attributes.define('FASTRPC_ATTR_KEEP_MAP', 8)
|
||||
FASTRPC_ATTR_NOMAP = enum_remote_buf_attributes.define('FASTRPC_ATTR_NOMAP', 16)
|
||||
FASTRPC_ATTR_FORCE_NOFLUSH = enum_remote_buf_attributes.define('FASTRPC_ATTR_FORCE_NOFLUSH', 32)
|
||||
FASTRPC_ATTR_FORCE_NOINVALIDATE = enum_remote_buf_attributes.define('FASTRPC_ATTR_FORCE_NOINVALIDATE', 64)
|
||||
FASTRPC_ATTR_TRY_MAP_STATIC = enum_remote_buf_attributes.define('FASTRPC_ATTR_TRY_MAP_STATIC', 128)
|
||||
|
||||
class enum_fastrpc_map_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
FASTRPC_MAP_STATIC = enum_fastrpc_map_flags.define('FASTRPC_MAP_STATIC', 0)
|
||||
FASTRPC_MAP_RESERVED = enum_fastrpc_map_flags.define('FASTRPC_MAP_RESERVED', 1)
|
||||
FASTRPC_MAP_FD = enum_fastrpc_map_flags.define('FASTRPC_MAP_FD', 2)
|
||||
FASTRPC_MAP_FD_DELAYED = enum_fastrpc_map_flags.define('FASTRPC_MAP_FD_DELAYED', 3)
|
||||
FASTRPC_MAP_MAX = enum_fastrpc_map_flags.define('FASTRPC_MAP_MAX', 4)
|
||||
|
||||
enum_remote_mem_map_flags: dict[int, str] = {(REMOTE_MAP_MEM_STATIC:=0): 'REMOTE_MAP_MEM_STATIC', (REMOTE_MAP_MAX_FLAG:=1): 'REMOTE_MAP_MAX_FLAG'}
|
||||
enum_remote_buf_attributes: dict[int, str] = {(FASTRPC_ATTR_NON_COHERENT:=2): 'FASTRPC_ATTR_NON_COHERENT', (FASTRPC_ATTR_COHERENT:=4): 'FASTRPC_ATTR_COHERENT', (FASTRPC_ATTR_KEEP_MAP:=8): 'FASTRPC_ATTR_KEEP_MAP', (FASTRPC_ATTR_NOMAP:=16): 'FASTRPC_ATTR_NOMAP', (FASTRPC_ATTR_FORCE_NOFLUSH:=32): 'FASTRPC_ATTR_FORCE_NOFLUSH', (FASTRPC_ATTR_FORCE_NOINVALIDATE:=64): 'FASTRPC_ATTR_FORCE_NOINVALIDATE', (FASTRPC_ATTR_TRY_MAP_STATIC:=128): 'FASTRPC_ATTR_TRY_MAP_STATIC'}
|
||||
enum_fastrpc_map_flags: dict[int, str] = {(FASTRPC_MAP_STATIC:=0): 'FASTRPC_MAP_STATIC', (FASTRPC_MAP_RESERVED:=1): 'FASTRPC_MAP_RESERVED', (FASTRPC_MAP_FD:=2): 'FASTRPC_MAP_FD', (FASTRPC_MAP_FD_DELAYED:=3): 'FASTRPC_MAP_FD_DELAYED', (FASTRPC_MAP_MAX:=4): 'FASTRPC_MAP_MAX'}
|
||||
@c.record
|
||||
class struct__cstring1_s(c.Struct):
|
||||
SIZE = 16
|
||||
data: Annotated[c.POINTER[Annotated[bytes, ctypes.c_char]], 0]
|
||||
dataLen: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
data: c.POINTER[ctypes.c_char]
|
||||
dataLen: int
|
||||
struct__cstring1_s.register_fields([('data', c.POINTER[ctypes.c_char], 0), ('dataLen', ctypes.c_int32, 8)])
|
||||
_cstring1_t: TypeAlias = struct__cstring1_s
|
||||
apps_std_FILE: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
class enum_apps_std_SEEK(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
APPS_STD_SEEK_SET = enum_apps_std_SEEK.define('APPS_STD_SEEK_SET', 0)
|
||||
APPS_STD_SEEK_CUR = enum_apps_std_SEEK.define('APPS_STD_SEEK_CUR', 1)
|
||||
APPS_STD_SEEK_END = enum_apps_std_SEEK.define('APPS_STD_SEEK_END', 2)
|
||||
_32BIT_PLACEHOLDER_apps_std_SEEK = enum_apps_std_SEEK.define('_32BIT_PLACEHOLDER_apps_std_SEEK', 2147483647)
|
||||
|
||||
apps_std_SEEK: TypeAlias = enum_apps_std_SEEK
|
||||
apps_std_FILE: TypeAlias = ctypes.c_int32
|
||||
enum_apps_std_SEEK: dict[int, str] = {(APPS_STD_SEEK_SET:=0): 'APPS_STD_SEEK_SET', (APPS_STD_SEEK_CUR:=1): 'APPS_STD_SEEK_CUR', (APPS_STD_SEEK_END:=2): 'APPS_STD_SEEK_END', (_32BIT_PLACEHOLDER_apps_std_SEEK:=2147483647): '_32BIT_PLACEHOLDER_apps_std_SEEK'}
|
||||
apps_std_SEEK: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class struct_apps_std_DIR(c.Struct):
|
||||
SIZE = 8
|
||||
handle: Annotated[uint64, 0]
|
||||
uint64: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
handle: int
|
||||
uint64: TypeAlias = ctypes.c_uint64
|
||||
struct_apps_std_DIR.register_fields([('handle', uint64, 0)])
|
||||
apps_std_DIR: TypeAlias = struct_apps_std_DIR
|
||||
@c.record
|
||||
class struct_apps_std_DIRENT(c.Struct):
|
||||
SIZE = 260
|
||||
ino: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
name: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[255]], 4]
|
||||
ino: int
|
||||
name: c.Array[ctypes.c_char, Literal[255]]
|
||||
struct_apps_std_DIRENT.register_fields([('ino', ctypes.c_int32, 0), ('name', c.Array[ctypes.c_char, Literal[255]], 4)])
|
||||
apps_std_DIRENT: TypeAlias = struct_apps_std_DIRENT
|
||||
@c.record
|
||||
class struct_apps_std_STAT(c.Struct):
|
||||
SIZE = 96
|
||||
tsz: Annotated[uint64, 0]
|
||||
dev: Annotated[uint64, 8]
|
||||
ino: Annotated[uint64, 16]
|
||||
mode: Annotated[uint32, 24]
|
||||
nlink: Annotated[uint32, 28]
|
||||
rdev: Annotated[uint64, 32]
|
||||
size: Annotated[uint64, 40]
|
||||
atime: Annotated[int64, 48]
|
||||
atimensec: Annotated[int64, 56]
|
||||
mtime: Annotated[int64, 64]
|
||||
mtimensec: Annotated[int64, 72]
|
||||
ctime: Annotated[int64, 80]
|
||||
ctimensec: Annotated[int64, 88]
|
||||
uint32: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
int64: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
tsz: int
|
||||
dev: int
|
||||
ino: int
|
||||
mode: int
|
||||
nlink: int
|
||||
rdev: int
|
||||
size: int
|
||||
atime: int
|
||||
atimensec: int
|
||||
mtime: int
|
||||
mtimensec: int
|
||||
ctime: int
|
||||
ctimensec: int
|
||||
uint32: TypeAlias = ctypes.c_uint32
|
||||
int64: TypeAlias = ctypes.c_int64
|
||||
struct_apps_std_STAT.register_fields([('tsz', uint64, 0), ('dev', uint64, 8), ('ino', uint64, 16), ('mode', uint32, 24), ('nlink', uint32, 28), ('rdev', uint64, 32), ('size', uint64, 40), ('atime', int64, 48), ('atimensec', int64, 56), ('mtime', int64, 64), ('mtimensec', int64, 72), ('ctime', int64, 80), ('ctimensec', int64, 88)])
|
||||
apps_std_STAT: TypeAlias = struct_apps_std_STAT
|
||||
c.init_records()
|
||||
ION_HEAP_SYSTEM_MASK = ((1 << ION_HEAP_TYPE_SYSTEM)) # type: ignore
|
||||
ION_HEAP_SYSTEM_CONTIG_MASK = ((1 << ION_HEAP_TYPE_SYSTEM_CONTIG)) # type: ignore
|
||||
ION_HEAP_CARVEOUT_MASK = ((1 << ION_HEAP_TYPE_CARVEOUT)) # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,225 +1,170 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
from typing import Literal, TypeAlias
|
||||
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
|
||||
from tinygrad.runtime.support import c
|
||||
dll = c.DLL('rocprof', ['rocprof-trace-decoder', p:='/usr/local/lib/rocprof-trace-decoder.so', p.replace('so','dylib')])
|
||||
class rocprofiler_thread_trace_decoder_status_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_STATUS_SUCCESS = rocprofiler_thread_trace_decoder_status_t.define('ROCPROFILER_THREAD_TRACE_DECODER_STATUS_SUCCESS', 0)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR = rocprofiler_thread_trace_decoder_status_t.define('ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR', 1)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_OUT_OF_RESOURCES = rocprofiler_thread_trace_decoder_status_t.define('ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_OUT_OF_RESOURCES', 2)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_INVALID_ARGUMENT = rocprofiler_thread_trace_decoder_status_t.define('ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_INVALID_ARGUMENT', 3)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_INVALID_SHADER_DATA = rocprofiler_thread_trace_decoder_status_t.define('ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_INVALID_SHADER_DATA', 4)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_STATUS_LAST = rocprofiler_thread_trace_decoder_status_t.define('ROCPROFILER_THREAD_TRACE_DECODER_STATUS_LAST', 5)
|
||||
|
||||
class enum_rocprofiler_thread_trace_decoder_record_type_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_GFXIP = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_GFXIP', 0)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_OCCUPANCY = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_OCCUPANCY', 1)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_PERFEVENT = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_PERFEVENT', 2)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_WAVE = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_WAVE', 3)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_INFO = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_INFO', 4)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_DEBUG = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_DEBUG', 5)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_SHADERDATA = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_SHADERDATA', 6)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_REALTIME = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_REALTIME', 7)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_RT_FREQUENCY = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_RT_FREQUENCY', 8)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_RECORD_LAST = enum_rocprofiler_thread_trace_decoder_record_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_RECORD_LAST', 9)
|
||||
|
||||
rocprof_trace_decoder_trace_callback_t: TypeAlias = c.CFUNCTYPE[rocprofiler_thread_trace_decoder_status_t, [enum_rocprofiler_thread_trace_decoder_record_type_t, ctypes.c_void_p, Annotated[int, ctypes.c_uint64], ctypes.c_void_p]]
|
||||
rocprofiler_thread_trace_decoder_status_t: dict[int, str] = {(ROCPROFILER_THREAD_TRACE_DECODER_STATUS_SUCCESS:=0): 'ROCPROFILER_THREAD_TRACE_DECODER_STATUS_SUCCESS', (ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR:=1): 'ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR', (ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_OUT_OF_RESOURCES:=2): 'ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_OUT_OF_RESOURCES', (ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_INVALID_ARGUMENT:=3): 'ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_INVALID_ARGUMENT', (ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_INVALID_SHADER_DATA:=4): 'ROCPROFILER_THREAD_TRACE_DECODER_STATUS_ERROR_INVALID_SHADER_DATA', (ROCPROFILER_THREAD_TRACE_DECODER_STATUS_LAST:=5): 'ROCPROFILER_THREAD_TRACE_DECODER_STATUS_LAST'}
|
||||
enum_rocprofiler_thread_trace_decoder_record_type_t: dict[int, str] = {(ROCPROFILER_THREAD_TRACE_DECODER_RECORD_GFXIP:=0): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_GFXIP', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_OCCUPANCY:=1): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_OCCUPANCY', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_PERFEVENT:=2): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_PERFEVENT', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_WAVE:=3): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_WAVE', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_INFO:=4): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_INFO', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_DEBUG:=5): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_DEBUG', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_SHADERDATA:=6): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_SHADERDATA', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_REALTIME:=7): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_REALTIME', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_RT_FREQUENCY:=8): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_RT_FREQUENCY', (ROCPROFILER_THREAD_TRACE_DECODER_RECORD_LAST:=9): 'ROCPROFILER_THREAD_TRACE_DECODER_RECORD_LAST'}
|
||||
rocprof_trace_decoder_trace_callback_t: TypeAlias = c.CFUNCTYPE[ctypes.c_uint32, [ctypes.c_uint32, ctypes.c_void_p, ctypes.c_uint64, ctypes.c_void_p]]
|
||||
@c.record
|
||||
class struct_rocprofiler_thread_trace_decoder_pc_t(c.Struct):
|
||||
SIZE = 16
|
||||
address: Annotated[uint64_t, 0]
|
||||
code_object_id: Annotated[uint64_t, 8]
|
||||
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
rocprof_trace_decoder_isa_callback_t: TypeAlias = c.CFUNCTYPE[rocprofiler_thread_trace_decoder_status_t, [c.POINTER[Annotated[bytes, ctypes.c_char]], c.POINTER[Annotated[int, ctypes.c_uint64]], c.POINTER[Annotated[int, ctypes.c_uint64]], struct_rocprofiler_thread_trace_decoder_pc_t, ctypes.c_void_p]]
|
||||
rocprof_trace_decoder_se_data_callback_t: TypeAlias = c.CFUNCTYPE[Annotated[int, ctypes.c_uint64], [c.POINTER[c.POINTER[Annotated[int, ctypes.c_ubyte]]], c.POINTER[Annotated[int, ctypes.c_uint64]], ctypes.c_void_p]]
|
||||
@dll.bind
|
||||
def rocprof_trace_decoder_parse_data(se_data_callback:rocprof_trace_decoder_se_data_callback_t, trace_callback:rocprof_trace_decoder_trace_callback_t, isa_callback:rocprof_trace_decoder_isa_callback_t, userdata:ctypes.c_void_p) -> rocprofiler_thread_trace_decoder_status_t: ...
|
||||
class enum_rocprofiler_thread_trace_decoder_info_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INFO_NONE = enum_rocprofiler_thread_trace_decoder_info_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INFO_NONE', 0)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INFO_DATA_LOST = enum_rocprofiler_thread_trace_decoder_info_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INFO_DATA_LOST', 1)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INFO_STITCH_INCOMPLETE = enum_rocprofiler_thread_trace_decoder_info_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INFO_STITCH_INCOMPLETE', 2)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INFO_WAVE_INCOMPLETE = enum_rocprofiler_thread_trace_decoder_info_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INFO_WAVE_INCOMPLETE', 3)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INFO_LAST = enum_rocprofiler_thread_trace_decoder_info_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INFO_LAST', 4)
|
||||
|
||||
rocprofiler_thread_trace_decoder_info_t: TypeAlias = enum_rocprofiler_thread_trace_decoder_info_t
|
||||
@dll.bind
|
||||
def rocprof_trace_decoder_get_info_string(info:rocprofiler_thread_trace_decoder_info_t) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
||||
@dll.bind
|
||||
def rocprof_trace_decoder_get_status_string(status:rocprofiler_thread_trace_decoder_status_t) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
|
||||
rocprofiler_thread_trace_decoder_debug_callback_t: TypeAlias = c.CFUNCTYPE[None, [Annotated[int, ctypes.c_int64], c.POINTER[Annotated[bytes, ctypes.c_char]], c.POINTER[Annotated[bytes, ctypes.c_char]], ctypes.c_void_p]]
|
||||
@dll.bind
|
||||
def rocprof_trace_decoder_dump_data(data:c.POINTER[Annotated[bytes, ctypes.c_char]], data_size:uint64_t, cb:rocprofiler_thread_trace_decoder_debug_callback_t, userdata:ctypes.c_void_p) -> rocprofiler_thread_trace_decoder_status_t: ...
|
||||
address: int
|
||||
code_object_id: int
|
||||
uint64_t: TypeAlias = ctypes.c_uint64
|
||||
struct_rocprofiler_thread_trace_decoder_pc_t.register_fields([('address', uint64_t, 0), ('code_object_id', uint64_t, 8)])
|
||||
rocprof_trace_decoder_isa_callback_t: TypeAlias = c.CFUNCTYPE[ctypes.c_uint32, [c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_uint64], c.POINTER[ctypes.c_uint64], struct_rocprofiler_thread_trace_decoder_pc_t, ctypes.c_void_p]]
|
||||
rocprof_trace_decoder_se_data_callback_t: TypeAlias = c.CFUNCTYPE[ctypes.c_uint64, [c.POINTER[c.POINTER[ctypes.c_ubyte]], c.POINTER[ctypes.c_uint64], ctypes.c_void_p]]
|
||||
@dll.bind(ctypes.c_uint32, rocprof_trace_decoder_se_data_callback_t, rocprof_trace_decoder_trace_callback_t, rocprof_trace_decoder_isa_callback_t, ctypes.c_void_p)
|
||||
def rocprof_trace_decoder_parse_data(se_data_callback:rocprof_trace_decoder_se_data_callback_t, trace_callback:rocprof_trace_decoder_trace_callback_t, isa_callback:rocprof_trace_decoder_isa_callback_t, userdata:ctypes.c_void_p) -> ctypes.c_uint32: ...
|
||||
enum_rocprofiler_thread_trace_decoder_info_t: dict[int, str] = {(ROCPROFILER_THREAD_TRACE_DECODER_INFO_NONE:=0): 'ROCPROFILER_THREAD_TRACE_DECODER_INFO_NONE', (ROCPROFILER_THREAD_TRACE_DECODER_INFO_DATA_LOST:=1): 'ROCPROFILER_THREAD_TRACE_DECODER_INFO_DATA_LOST', (ROCPROFILER_THREAD_TRACE_DECODER_INFO_STITCH_INCOMPLETE:=2): 'ROCPROFILER_THREAD_TRACE_DECODER_INFO_STITCH_INCOMPLETE', (ROCPROFILER_THREAD_TRACE_DECODER_INFO_WAVE_INCOMPLETE:=3): 'ROCPROFILER_THREAD_TRACE_DECODER_INFO_WAVE_INCOMPLETE', (ROCPROFILER_THREAD_TRACE_DECODER_INFO_LAST:=4): 'ROCPROFILER_THREAD_TRACE_DECODER_INFO_LAST'}
|
||||
rocprofiler_thread_trace_decoder_info_t: TypeAlias = ctypes.c_uint32
|
||||
@dll.bind(c.POINTER[ctypes.c_char], rocprofiler_thread_trace_decoder_info_t)
|
||||
def rocprof_trace_decoder_get_info_string(info:rocprofiler_thread_trace_decoder_info_t) -> c.POINTER[ctypes.c_char]: ...
|
||||
@dll.bind(c.POINTER[ctypes.c_char], ctypes.c_uint32)
|
||||
def rocprof_trace_decoder_get_status_string(status:ctypes.c_uint32) -> c.POINTER[ctypes.c_char]: ...
|
||||
rocprofiler_thread_trace_decoder_debug_callback_t: TypeAlias = c.CFUNCTYPE[None, [ctypes.c_int64, c.POINTER[ctypes.c_char], c.POINTER[ctypes.c_char], ctypes.c_void_p]]
|
||||
@dll.bind(ctypes.c_uint32, c.POINTER[ctypes.c_char], uint64_t, rocprofiler_thread_trace_decoder_debug_callback_t, ctypes.c_void_p)
|
||||
def rocprof_trace_decoder_dump_data(data:c.POINTER[ctypes.c_char], data_size:uint64_t, cb:rocprofiler_thread_trace_decoder_debug_callback_t, userdata:ctypes.c_void_p) -> ctypes.c_uint32: ...
|
||||
@c.record
|
||||
class union_rocprof_trace_decoder_gfx9_header_t(c.Struct):
|
||||
SIZE = 8
|
||||
legacy_version: Annotated[uint64_t, 0, 13, 0]
|
||||
gfx9_version2: Annotated[uint64_t, 1, 3, 5]
|
||||
DSIMDM: Annotated[uint64_t, 2, 4, 0]
|
||||
DCU: Annotated[uint64_t, 2, 5, 4]
|
||||
reserved1: Annotated[uint64_t, 3, 1, 1]
|
||||
SEID: Annotated[uint64_t, 3, 6, 2]
|
||||
reserved2: Annotated[uint64_t, 4, 32, 0]
|
||||
raw: Annotated[uint64_t, 0]
|
||||
legacy_version: int
|
||||
gfx9_version2: int
|
||||
DSIMDM: int
|
||||
DCU: int
|
||||
reserved1: int
|
||||
SEID: int
|
||||
reserved2: int
|
||||
raw: int
|
||||
union_rocprof_trace_decoder_gfx9_header_t.register_fields([('legacy_version', uint64_t, 0, 13, 0), ('gfx9_version2', uint64_t, 1, 3, 5), ('DSIMDM', uint64_t, 2, 4, 0), ('DCU', uint64_t, 2, 5, 4), ('reserved1', uint64_t, 3, 1, 1), ('SEID', uint64_t, 3, 6, 2), ('reserved2', uint64_t, 4, 32, 0), ('raw', uint64_t, 0)])
|
||||
rocprof_trace_decoder_gfx9_header_t: TypeAlias = union_rocprof_trace_decoder_gfx9_header_t
|
||||
@c.record
|
||||
class union_rocprof_trace_decoder_instrument_enable_t(c.Struct):
|
||||
SIZE = 4
|
||||
char1: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
char2: Annotated[Annotated[int, ctypes.c_uint32], 1, 8, 0]
|
||||
char3: Annotated[Annotated[int, ctypes.c_uint32], 2, 8, 0]
|
||||
char4: Annotated[Annotated[int, ctypes.c_uint32], 3, 8, 0]
|
||||
u32All: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
char1: int
|
||||
char2: int
|
||||
char3: int
|
||||
char4: int
|
||||
u32All: int
|
||||
union_rocprof_trace_decoder_instrument_enable_t.register_fields([('char1', ctypes.c_uint32, 0, 8, 0), ('char2', ctypes.c_uint32, 1, 8, 0), ('char3', ctypes.c_uint32, 2, 8, 0), ('char4', ctypes.c_uint32, 3, 8, 0), ('u32All', ctypes.c_uint32, 0)])
|
||||
rocprof_trace_decoder_instrument_enable_t: TypeAlias = union_rocprof_trace_decoder_instrument_enable_t
|
||||
@c.record
|
||||
class union_rocprof_trace_decoder_packet_header_t(c.Struct):
|
||||
SIZE = 4
|
||||
opcode: Annotated[Annotated[int, ctypes.c_uint32], 0, 8, 0]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 1, 4, 0]
|
||||
data20: Annotated[Annotated[int, ctypes.c_uint32], 1, 20, 4]
|
||||
u32All: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
opcode: int
|
||||
type: int
|
||||
data20: int
|
||||
u32All: int
|
||||
union_rocprof_trace_decoder_packet_header_t.register_fields([('opcode', ctypes.c_uint32, 0, 8, 0), ('type', ctypes.c_uint32, 1, 4, 0), ('data20', ctypes.c_uint32, 1, 20, 4), ('u32All', ctypes.c_uint32, 0)])
|
||||
rocprof_trace_decoder_packet_header_t: TypeAlias = union_rocprof_trace_decoder_packet_header_t
|
||||
class enum_rocprof_trace_decoder_packet_opcode_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROF_TRACE_DECODER_PACKET_OPCODE_CODEOBJ = enum_rocprof_trace_decoder_packet_opcode_t.define('ROCPROF_TRACE_DECODER_PACKET_OPCODE_CODEOBJ', 4)
|
||||
ROCPROF_TRACE_DECODER_PACKET_OPCODE_RT_TIMESTAMP = enum_rocprof_trace_decoder_packet_opcode_t.define('ROCPROF_TRACE_DECODER_PACKET_OPCODE_RT_TIMESTAMP', 5)
|
||||
ROCPROF_TRACE_DECODER_PACKET_OPCODE_AGENT_INFO = enum_rocprof_trace_decoder_packet_opcode_t.define('ROCPROF_TRACE_DECODER_PACKET_OPCODE_AGENT_INFO', 6)
|
||||
|
||||
rocprof_trace_decoder_packet_opcode_t: TypeAlias = enum_rocprof_trace_decoder_packet_opcode_t
|
||||
class enum_rocprof_trace_decoder_agent_info_type_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_RT_FREQUENCY_KHZ = enum_rocprof_trace_decoder_agent_info_type_t.define('ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_RT_FREQUENCY_KHZ', 0)
|
||||
ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_COUNTER_INTERVAL = enum_rocprof_trace_decoder_agent_info_type_t.define('ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_COUNTER_INTERVAL', 1)
|
||||
ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_LAST = enum_rocprof_trace_decoder_agent_info_type_t.define('ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_LAST', 2)
|
||||
|
||||
rocprof_trace_decoder_agent_info_type_t: TypeAlias = enum_rocprof_trace_decoder_agent_info_type_t
|
||||
enum_rocprof_trace_decoder_packet_opcode_t: dict[int, str] = {(ROCPROF_TRACE_DECODER_PACKET_OPCODE_CODEOBJ:=4): 'ROCPROF_TRACE_DECODER_PACKET_OPCODE_CODEOBJ', (ROCPROF_TRACE_DECODER_PACKET_OPCODE_RT_TIMESTAMP:=5): 'ROCPROF_TRACE_DECODER_PACKET_OPCODE_RT_TIMESTAMP', (ROCPROF_TRACE_DECODER_PACKET_OPCODE_AGENT_INFO:=6): 'ROCPROF_TRACE_DECODER_PACKET_OPCODE_AGENT_INFO'}
|
||||
rocprof_trace_decoder_packet_opcode_t: TypeAlias = ctypes.c_uint32
|
||||
enum_rocprof_trace_decoder_agent_info_type_t: dict[int, str] = {(ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_RT_FREQUENCY_KHZ:=0): 'ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_RT_FREQUENCY_KHZ', (ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_COUNTER_INTERVAL:=1): 'ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_COUNTER_INTERVAL', (ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_LAST:=2): 'ROCPROF_TRACE_DECODER_AGENT_INFO_TYPE_LAST'}
|
||||
rocprof_trace_decoder_agent_info_type_t: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class union_rocprof_trace_decoder_codeobj_marker_tail_t(c.Struct):
|
||||
SIZE = 4
|
||||
isUnload: Annotated[uint32_t, 0, 1, 0]
|
||||
bFromStart: Annotated[uint32_t, 0, 1, 1]
|
||||
legacy_id: Annotated[uint32_t, 0, 30, 2]
|
||||
raw: Annotated[uint32_t, 0]
|
||||
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
isUnload: int
|
||||
bFromStart: int
|
||||
legacy_id: int
|
||||
raw: int
|
||||
uint32_t: TypeAlias = ctypes.c_uint32
|
||||
union_rocprof_trace_decoder_codeobj_marker_tail_t.register_fields([('isUnload', uint32_t, 0, 1, 0), ('bFromStart', uint32_t, 0, 1, 1), ('legacy_id', uint32_t, 0, 30, 2), ('raw', uint32_t, 0)])
|
||||
rocprof_trace_decoder_codeobj_marker_tail_t: TypeAlias = union_rocprof_trace_decoder_codeobj_marker_tail_t
|
||||
class enum_rocprof_trace_decoder_codeobj_marker_type_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_TAIL = enum_rocprof_trace_decoder_codeobj_marker_type_t.define('ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_TAIL', 0)
|
||||
ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_SIZE_LO = enum_rocprof_trace_decoder_codeobj_marker_type_t.define('ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_SIZE_LO', 1)
|
||||
ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ADDR_LO = enum_rocprof_trace_decoder_codeobj_marker_type_t.define('ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ADDR_LO', 2)
|
||||
ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ADDR_HI = enum_rocprof_trace_decoder_codeobj_marker_type_t.define('ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ADDR_HI', 3)
|
||||
ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_SIZE_HI = enum_rocprof_trace_decoder_codeobj_marker_type_t.define('ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_SIZE_HI', 4)
|
||||
ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ID_LO = enum_rocprof_trace_decoder_codeobj_marker_type_t.define('ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ID_LO', 5)
|
||||
ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ID_HI = enum_rocprof_trace_decoder_codeobj_marker_type_t.define('ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ID_HI', 6)
|
||||
ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_LAST = enum_rocprof_trace_decoder_codeobj_marker_type_t.define('ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_LAST', 7)
|
||||
|
||||
rocprof_trace_decoder_codeobj_marker_type_t: TypeAlias = enum_rocprof_trace_decoder_codeobj_marker_type_t
|
||||
enum_rocprof_trace_decoder_codeobj_marker_type_t: dict[int, str] = {(ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_TAIL:=0): 'ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_TAIL', (ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_SIZE_LO:=1): 'ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_SIZE_LO', (ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ADDR_LO:=2): 'ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ADDR_LO', (ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ADDR_HI:=3): 'ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ADDR_HI', (ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_SIZE_HI:=4): 'ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_SIZE_HI', (ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ID_LO:=5): 'ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ID_LO', (ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ID_HI:=6): 'ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_ID_HI', (ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_LAST:=7): 'ROCPROF_TRACE_DECODER_CODEOBJ_MARKER_TYPE_LAST'}
|
||||
rocprof_trace_decoder_codeobj_marker_type_t: TypeAlias = ctypes.c_uint32
|
||||
rocprofiler_thread_trace_decoder_pc_t: TypeAlias = struct_rocprofiler_thread_trace_decoder_pc_t
|
||||
@c.record
|
||||
class struct_rocprofiler_thread_trace_decoder_perfevent_t(c.Struct):
|
||||
SIZE = 24
|
||||
time: Annotated[int64_t, 0]
|
||||
events0: Annotated[uint16_t, 8]
|
||||
events1: Annotated[uint16_t, 10]
|
||||
events2: Annotated[uint16_t, 12]
|
||||
events3: Annotated[uint16_t, 14]
|
||||
CU: Annotated[uint8_t, 16]
|
||||
bank: Annotated[uint8_t, 17]
|
||||
int64_t: TypeAlias = Annotated[int, ctypes.c_int64]
|
||||
uint16_t: TypeAlias = Annotated[int, ctypes.c_uint16]
|
||||
uint8_t: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
||||
time: int
|
||||
events0: int
|
||||
events1: int
|
||||
events2: int
|
||||
events3: int
|
||||
CU: int
|
||||
bank: int
|
||||
int64_t: TypeAlias = ctypes.c_int64
|
||||
uint16_t: TypeAlias = ctypes.c_uint16
|
||||
uint8_t: TypeAlias = ctypes.c_ubyte
|
||||
struct_rocprofiler_thread_trace_decoder_perfevent_t.register_fields([('time', int64_t, 0), ('events0', uint16_t, 8), ('events1', uint16_t, 10), ('events2', uint16_t, 12), ('events3', uint16_t, 14), ('CU', uint8_t, 16), ('bank', uint8_t, 17)])
|
||||
rocprofiler_thread_trace_decoder_perfevent_t: TypeAlias = struct_rocprofiler_thread_trace_decoder_perfevent_t
|
||||
@c.record
|
||||
class struct_rocprofiler_thread_trace_decoder_occupancy_t(c.Struct):
|
||||
SIZE = 32
|
||||
pc: Annotated[rocprofiler_thread_trace_decoder_pc_t, 0]
|
||||
time: Annotated[uint64_t, 16]
|
||||
reserved: Annotated[uint8_t, 24]
|
||||
cu: Annotated[uint8_t, 25]
|
||||
simd: Annotated[uint8_t, 26]
|
||||
wave_id: Annotated[uint8_t, 27]
|
||||
start: Annotated[uint32_t, 28, 1, 0]
|
||||
_rsvd: Annotated[uint32_t, 28, 31, 1]
|
||||
pc: struct_rocprofiler_thread_trace_decoder_pc_t
|
||||
time: int
|
||||
reserved: int
|
||||
cu: int
|
||||
simd: int
|
||||
wave_id: int
|
||||
start: int
|
||||
_rsvd: int
|
||||
struct_rocprofiler_thread_trace_decoder_occupancy_t.register_fields([('pc', rocprofiler_thread_trace_decoder_pc_t, 0), ('time', uint64_t, 16), ('reserved', uint8_t, 24), ('cu', uint8_t, 25), ('simd', uint8_t, 26), ('wave_id', uint8_t, 27), ('start', uint32_t, 28, 1, 0), ('_rsvd', uint32_t, 28, 31, 1)])
|
||||
rocprofiler_thread_trace_decoder_occupancy_t: TypeAlias = struct_rocprofiler_thread_trace_decoder_occupancy_t
|
||||
class enum_rocprofiler_thread_trace_decoder_wstate_type_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_EMPTY = enum_rocprofiler_thread_trace_decoder_wstate_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_EMPTY', 0)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_IDLE = enum_rocprofiler_thread_trace_decoder_wstate_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_IDLE', 1)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_EXEC = enum_rocprofiler_thread_trace_decoder_wstate_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_EXEC', 2)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_WAIT = enum_rocprofiler_thread_trace_decoder_wstate_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_WAIT', 3)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_STALL = enum_rocprofiler_thread_trace_decoder_wstate_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_STALL', 4)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_LAST = enum_rocprofiler_thread_trace_decoder_wstate_type_t.define('ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_LAST', 5)
|
||||
|
||||
rocprofiler_thread_trace_decoder_wstate_type_t: TypeAlias = enum_rocprofiler_thread_trace_decoder_wstate_type_t
|
||||
enum_rocprofiler_thread_trace_decoder_wstate_type_t: dict[int, str] = {(ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_EMPTY:=0): 'ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_EMPTY', (ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_IDLE:=1): 'ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_IDLE', (ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_EXEC:=2): 'ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_EXEC', (ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_WAIT:=3): 'ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_WAIT', (ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_STALL:=4): 'ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_STALL', (ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_LAST:=5): 'ROCPROFILER_THREAD_TRACE_DECODER_WSTATE_LAST'}
|
||||
rocprofiler_thread_trace_decoder_wstate_type_t: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class struct_rocprofiler_thread_trace_decoder_wave_state_t(c.Struct):
|
||||
SIZE = 8
|
||||
type: Annotated[int32_t, 0]
|
||||
duration: Annotated[int32_t, 4]
|
||||
int32_t: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
type: int
|
||||
duration: int
|
||||
int32_t: TypeAlias = ctypes.c_int32
|
||||
struct_rocprofiler_thread_trace_decoder_wave_state_t.register_fields([('type', int32_t, 0), ('duration', int32_t, 4)])
|
||||
rocprofiler_thread_trace_decoder_wave_state_t: TypeAlias = struct_rocprofiler_thread_trace_decoder_wave_state_t
|
||||
class enum_rocprofiler_thread_trace_decoder_inst_category_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_NONE = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_NONE', 0)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_SMEM = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_SMEM', 1)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_SALU = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_SALU', 2)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_VMEM = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_VMEM', 3)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_FLAT = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_FLAT', 4)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_LDS = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_LDS', 5)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_VALU = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_VALU', 6)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_JUMP = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_JUMP', 7)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_NEXT = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_NEXT', 8)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_IMMED = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_IMMED', 9)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_CONTEXT = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_CONTEXT', 10)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_MESSAGE = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_MESSAGE', 11)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_BVH = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_BVH', 12)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_INST_LAST = enum_rocprofiler_thread_trace_decoder_inst_category_t.define('ROCPROFILER_THREAD_TRACE_DECODER_INST_LAST', 13)
|
||||
|
||||
rocprofiler_thread_trace_decoder_inst_category_t: TypeAlias = enum_rocprofiler_thread_trace_decoder_inst_category_t
|
||||
enum_rocprofiler_thread_trace_decoder_inst_category_t: dict[int, str] = {(ROCPROFILER_THREAD_TRACE_DECODER_INST_NONE:=0): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_NONE', (ROCPROFILER_THREAD_TRACE_DECODER_INST_SMEM:=1): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_SMEM', (ROCPROFILER_THREAD_TRACE_DECODER_INST_SALU:=2): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_SALU', (ROCPROFILER_THREAD_TRACE_DECODER_INST_VMEM:=3): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_VMEM', (ROCPROFILER_THREAD_TRACE_DECODER_INST_FLAT:=4): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_FLAT', (ROCPROFILER_THREAD_TRACE_DECODER_INST_LDS:=5): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_LDS', (ROCPROFILER_THREAD_TRACE_DECODER_INST_VALU:=6): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_VALU', (ROCPROFILER_THREAD_TRACE_DECODER_INST_JUMP:=7): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_JUMP', (ROCPROFILER_THREAD_TRACE_DECODER_INST_NEXT:=8): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_NEXT', (ROCPROFILER_THREAD_TRACE_DECODER_INST_IMMED:=9): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_IMMED', (ROCPROFILER_THREAD_TRACE_DECODER_INST_CONTEXT:=10): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_CONTEXT', (ROCPROFILER_THREAD_TRACE_DECODER_INST_MESSAGE:=11): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_MESSAGE', (ROCPROFILER_THREAD_TRACE_DECODER_INST_BVH:=12): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_BVH', (ROCPROFILER_THREAD_TRACE_DECODER_INST_LAST:=13): 'ROCPROFILER_THREAD_TRACE_DECODER_INST_LAST'}
|
||||
rocprofiler_thread_trace_decoder_inst_category_t: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class struct_rocprofiler_thread_trace_decoder_inst_t(c.Struct):
|
||||
SIZE = 32
|
||||
category: Annotated[uint32_t, 0, 8, 0]
|
||||
stall: Annotated[uint32_t, 1, 24, 0]
|
||||
duration: Annotated[int32_t, 4]
|
||||
time: Annotated[int64_t, 8]
|
||||
pc: Annotated[rocprofiler_thread_trace_decoder_pc_t, 16]
|
||||
category: int
|
||||
stall: int
|
||||
duration: int
|
||||
time: int
|
||||
pc: struct_rocprofiler_thread_trace_decoder_pc_t
|
||||
struct_rocprofiler_thread_trace_decoder_inst_t.register_fields([('category', uint32_t, 0, 8, 0), ('stall', uint32_t, 1, 24, 0), ('duration', int32_t, 4), ('time', int64_t, 8), ('pc', rocprofiler_thread_trace_decoder_pc_t, 16)])
|
||||
rocprofiler_thread_trace_decoder_inst_t: TypeAlias = struct_rocprofiler_thread_trace_decoder_inst_t
|
||||
@c.record
|
||||
class struct_rocprofiler_thread_trace_decoder_wave_t(c.Struct):
|
||||
SIZE = 64
|
||||
cu: Annotated[uint8_t, 0]
|
||||
simd: Annotated[uint8_t, 1]
|
||||
wave_id: Annotated[uint8_t, 2]
|
||||
contexts: Annotated[uint8_t, 3]
|
||||
_rsvd1: Annotated[uint32_t, 4]
|
||||
_rsvd2: Annotated[uint32_t, 8]
|
||||
_rsvd3: Annotated[uint32_t, 12]
|
||||
begin_time: Annotated[int64_t, 16]
|
||||
end_time: Annotated[int64_t, 24]
|
||||
timeline_size: Annotated[uint64_t, 32]
|
||||
instructions_size: Annotated[uint64_t, 40]
|
||||
timeline_array: Annotated[c.POINTER[rocprofiler_thread_trace_decoder_wave_state_t], 48]
|
||||
instructions_array: Annotated[c.POINTER[rocprofiler_thread_trace_decoder_inst_t], 56]
|
||||
cu: int
|
||||
simd: int
|
||||
wave_id: int
|
||||
contexts: int
|
||||
_rsvd1: int
|
||||
_rsvd2: int
|
||||
_rsvd3: int
|
||||
begin_time: int
|
||||
end_time: int
|
||||
timeline_size: int
|
||||
instructions_size: int
|
||||
timeline_array: c.POINTER[struct_rocprofiler_thread_trace_decoder_wave_state_t]
|
||||
instructions_array: c.POINTER[struct_rocprofiler_thread_trace_decoder_inst_t]
|
||||
struct_rocprofiler_thread_trace_decoder_wave_t.register_fields([('cu', uint8_t, 0), ('simd', uint8_t, 1), ('wave_id', uint8_t, 2), ('contexts', uint8_t, 3), ('_rsvd1', uint32_t, 4), ('_rsvd2', uint32_t, 8), ('_rsvd3', uint32_t, 12), ('begin_time', int64_t, 16), ('end_time', int64_t, 24), ('timeline_size', uint64_t, 32), ('instructions_size', uint64_t, 40), ('timeline_array', c.POINTER[rocprofiler_thread_trace_decoder_wave_state_t], 48), ('instructions_array', c.POINTER[rocprofiler_thread_trace_decoder_inst_t], 56)])
|
||||
rocprofiler_thread_trace_decoder_wave_t: TypeAlias = struct_rocprofiler_thread_trace_decoder_wave_t
|
||||
@c.record
|
||||
class struct_rocprofiler_thread_trace_decoder_realtime_t(c.Struct):
|
||||
SIZE = 24
|
||||
shader_clock: Annotated[int64_t, 0]
|
||||
realtime_clock: Annotated[uint64_t, 8]
|
||||
reserved: Annotated[uint64_t, 16]
|
||||
shader_clock: int
|
||||
realtime_clock: int
|
||||
reserved: int
|
||||
struct_rocprofiler_thread_trace_decoder_realtime_t.register_fields([('shader_clock', int64_t, 0), ('realtime_clock', uint64_t, 8), ('reserved', uint64_t, 16)])
|
||||
rocprofiler_thread_trace_decoder_realtime_t: TypeAlias = struct_rocprofiler_thread_trace_decoder_realtime_t
|
||||
class enum_rocprofiler_thread_trace_decoder_shaderdata_flags_t(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_SHADERDATA_FLAGS_IMM = enum_rocprofiler_thread_trace_decoder_shaderdata_flags_t.define('ROCPROFILER_THREAD_TRACE_DECODER_SHADERDATA_FLAGS_IMM', 0)
|
||||
ROCPROFILER_THREAD_TRACE_DECODER_SHADERDATA_FLAGS_PRIV = enum_rocprofiler_thread_trace_decoder_shaderdata_flags_t.define('ROCPROFILER_THREAD_TRACE_DECODER_SHADERDATA_FLAGS_PRIV', 1)
|
||||
|
||||
rocprofiler_thread_trace_decoder_shaderdata_flags_t: TypeAlias = enum_rocprofiler_thread_trace_decoder_shaderdata_flags_t
|
||||
enum_rocprofiler_thread_trace_decoder_shaderdata_flags_t: dict[int, str] = {(ROCPROFILER_THREAD_TRACE_DECODER_SHADERDATA_FLAGS_IMM:=0): 'ROCPROFILER_THREAD_TRACE_DECODER_SHADERDATA_FLAGS_IMM', (ROCPROFILER_THREAD_TRACE_DECODER_SHADERDATA_FLAGS_PRIV:=1): 'ROCPROFILER_THREAD_TRACE_DECODER_SHADERDATA_FLAGS_PRIV'}
|
||||
rocprofiler_thread_trace_decoder_shaderdata_flags_t: TypeAlias = ctypes.c_uint32
|
||||
@c.record
|
||||
class struct_rocprofiler_thread_trace_decoder_shaderdata_t(c.Struct):
|
||||
SIZE = 24
|
||||
time: Annotated[int64_t, 0]
|
||||
value: Annotated[uint64_t, 8]
|
||||
cu: Annotated[uint8_t, 16]
|
||||
simd: Annotated[uint8_t, 17]
|
||||
wave_id: Annotated[uint8_t, 18]
|
||||
flags: Annotated[uint8_t, 19]
|
||||
reserved: Annotated[uint32_t, 20]
|
||||
time: int
|
||||
value: int
|
||||
cu: int
|
||||
simd: int
|
||||
wave_id: int
|
||||
flags: int
|
||||
reserved: int
|
||||
struct_rocprofiler_thread_trace_decoder_shaderdata_t.register_fields([('time', int64_t, 0), ('value', uint64_t, 8), ('cu', uint8_t, 16), ('simd', uint8_t, 17), ('wave_id', uint8_t, 18), ('flags', uint8_t, 19), ('reserved', uint32_t, 20)])
|
||||
rocprofiler_thread_trace_decoder_shaderdata_t: TypeAlias = struct_rocprofiler_thread_trace_decoder_shaderdata_t
|
||||
rocprofiler_thread_trace_decoder_record_type_t: TypeAlias = enum_rocprofiler_thread_trace_decoder_record_type_t
|
||||
c.init_records()
|
||||
rocprofiler_thread_trace_decoder_record_type_t: TypeAlias = ctypes.c_uint32
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,401 +1,409 @@
|
|||
# mypy: disable-error-code="empty-body"
|
||||
from __future__ import annotations
|
||||
import ctypes
|
||||
from typing import Annotated, Literal, TypeAlias
|
||||
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_vfio_info_cap_header(c.Struct):
|
||||
SIZE = 8
|
||||
id: Annotated[Annotated[int, ctypes.c_uint16], 0]
|
||||
version: Annotated[Annotated[int, ctypes.c_uint16], 2]
|
||||
next: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
__u16: TypeAlias = Annotated[int, ctypes.c_uint16]
|
||||
__u32: TypeAlias = Annotated[int, ctypes.c_uint32]
|
||||
id: int
|
||||
version: int
|
||||
next: int
|
||||
__u16: TypeAlias = ctypes.c_uint16
|
||||
__u32: TypeAlias = ctypes.c_uint32
|
||||
struct_vfio_info_cap_header.register_fields([('id', ctypes.c_uint16, 0), ('version', ctypes.c_uint16, 2), ('next', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_vfio_group_status(c.Struct):
|
||||
SIZE = 8
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
argsz: int
|
||||
flags: int
|
||||
struct_vfio_group_status.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_vfio_device_info(c.Struct):
|
||||
SIZE = 24
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
num_regions: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
num_irqs: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
cap_offset: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
pad: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
argsz: int
|
||||
flags: int
|
||||
num_regions: int
|
||||
num_irqs: int
|
||||
cap_offset: int
|
||||
pad: int
|
||||
struct_vfio_device_info.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('num_regions', ctypes.c_uint32, 8), ('num_irqs', ctypes.c_uint32, 12), ('cap_offset', ctypes.c_uint32, 16), ('pad', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_vfio_device_info_cap_pci_atomic_comp(c.Struct):
|
||||
SIZE = 16
|
||||
header: Annotated[struct_vfio_info_cap_header, 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
header: struct_vfio_info_cap_header
|
||||
flags: int
|
||||
reserved: int
|
||||
struct_vfio_device_info_cap_pci_atomic_comp.register_fields([('header', struct_vfio_info_cap_header, 0), ('flags', ctypes.c_uint32, 8), ('reserved', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_vfio_region_info(c.Struct):
|
||||
SIZE = 32
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
index: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
cap_offset: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
__u64: TypeAlias = Annotated[int, ctypes.c_uint64]
|
||||
argsz: int
|
||||
flags: int
|
||||
index: int
|
||||
cap_offset: int
|
||||
size: int
|
||||
offset: int
|
||||
__u64: TypeAlias = ctypes.c_uint64
|
||||
struct_vfio_region_info.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('index', ctypes.c_uint32, 8), ('cap_offset', ctypes.c_uint32, 12), ('size', ctypes.c_uint64, 16), ('offset', ctypes.c_uint64, 24)])
|
||||
@c.record
|
||||
class struct_vfio_region_sparse_mmap_area(c.Struct):
|
||||
SIZE = 16
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
offset: int
|
||||
size: int
|
||||
struct_vfio_region_sparse_mmap_area.register_fields([('offset', ctypes.c_uint64, 0), ('size', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_vfio_region_info_cap_sparse_mmap(c.Struct):
|
||||
SIZE = 16
|
||||
header: Annotated[struct_vfio_info_cap_header, 0]
|
||||
nr_areas: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
areas: Annotated[c.Array[struct_vfio_region_sparse_mmap_area, Literal[0]], 16]
|
||||
header: struct_vfio_info_cap_header
|
||||
nr_areas: int
|
||||
reserved: int
|
||||
areas: c.Array[struct_vfio_region_sparse_mmap_area, Literal[0]]
|
||||
struct_vfio_region_info_cap_sparse_mmap.register_fields([('header', struct_vfio_info_cap_header, 0), ('nr_areas', ctypes.c_uint32, 8), ('reserved', ctypes.c_uint32, 12), ('areas', c.Array[struct_vfio_region_sparse_mmap_area, Literal[0]], 16)])
|
||||
@c.record
|
||||
class struct_vfio_region_info_cap_type(c.Struct):
|
||||
SIZE = 16
|
||||
header: Annotated[struct_vfio_info_cap_header, 0]
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
subtype: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
header: struct_vfio_info_cap_header
|
||||
type: int
|
||||
subtype: int
|
||||
struct_vfio_region_info_cap_type.register_fields([('header', struct_vfio_info_cap_header, 0), ('type', ctypes.c_uint32, 8), ('subtype', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_vfio_region_gfx_edid(c.Struct):
|
||||
SIZE = 24
|
||||
edid_offset: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
edid_max_size: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
edid_size: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
max_xres: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
max_yres: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
link_state: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
edid_offset: int
|
||||
edid_max_size: int
|
||||
edid_size: int
|
||||
max_xres: int
|
||||
max_yres: int
|
||||
link_state: int
|
||||
struct_vfio_region_gfx_edid.register_fields([('edid_offset', ctypes.c_uint32, 0), ('edid_max_size', ctypes.c_uint32, 4), ('edid_size', ctypes.c_uint32, 8), ('max_xres', ctypes.c_uint32, 12), ('max_yres', ctypes.c_uint32, 16), ('link_state', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_vfio_device_migration_info(c.Struct):
|
||||
SIZE = 32
|
||||
device_state: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
pending_bytes: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
data_offset: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
data_size: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
device_state: int
|
||||
reserved: int
|
||||
pending_bytes: int
|
||||
data_offset: int
|
||||
data_size: int
|
||||
struct_vfio_device_migration_info.register_fields([('device_state', ctypes.c_uint32, 0), ('reserved', ctypes.c_uint32, 4), ('pending_bytes', ctypes.c_uint64, 8), ('data_offset', ctypes.c_uint64, 16), ('data_size', ctypes.c_uint64, 24)])
|
||||
@c.record
|
||||
class struct_vfio_region_info_cap_nvlink2_ssatgt(c.Struct):
|
||||
SIZE = 16
|
||||
header: Annotated[struct_vfio_info_cap_header, 0]
|
||||
tgt: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
header: struct_vfio_info_cap_header
|
||||
tgt: int
|
||||
struct_vfio_region_info_cap_nvlink2_ssatgt.register_fields([('header', struct_vfio_info_cap_header, 0), ('tgt', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_vfio_region_info_cap_nvlink2_lnkspd(c.Struct):
|
||||
SIZE = 16
|
||||
header: Annotated[struct_vfio_info_cap_header, 0]
|
||||
link_speed: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
__pad: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
header: struct_vfio_info_cap_header
|
||||
link_speed: int
|
||||
__pad: int
|
||||
struct_vfio_region_info_cap_nvlink2_lnkspd.register_fields([('header', struct_vfio_info_cap_header, 0), ('link_speed', ctypes.c_uint32, 8), ('__pad', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_vfio_irq_info(c.Struct):
|
||||
SIZE = 16
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
index: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
argsz: int
|
||||
flags: int
|
||||
index: int
|
||||
count: int
|
||||
struct_vfio_irq_info.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('index', ctypes.c_uint32, 8), ('count', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_vfio_irq_set(c.Struct):
|
||||
SIZE = 20
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
index: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
start: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
data: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[0]], 20]
|
||||
__u8: TypeAlias = Annotated[int, ctypes.c_ubyte]
|
||||
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
VFIO_PCI_BAR0_REGION_INDEX = _anonenum0.define('VFIO_PCI_BAR0_REGION_INDEX', 0)
|
||||
VFIO_PCI_BAR1_REGION_INDEX = _anonenum0.define('VFIO_PCI_BAR1_REGION_INDEX', 1)
|
||||
VFIO_PCI_BAR2_REGION_INDEX = _anonenum0.define('VFIO_PCI_BAR2_REGION_INDEX', 2)
|
||||
VFIO_PCI_BAR3_REGION_INDEX = _anonenum0.define('VFIO_PCI_BAR3_REGION_INDEX', 3)
|
||||
VFIO_PCI_BAR4_REGION_INDEX = _anonenum0.define('VFIO_PCI_BAR4_REGION_INDEX', 4)
|
||||
VFIO_PCI_BAR5_REGION_INDEX = _anonenum0.define('VFIO_PCI_BAR5_REGION_INDEX', 5)
|
||||
VFIO_PCI_ROM_REGION_INDEX = _anonenum0.define('VFIO_PCI_ROM_REGION_INDEX', 6)
|
||||
VFIO_PCI_CONFIG_REGION_INDEX = _anonenum0.define('VFIO_PCI_CONFIG_REGION_INDEX', 7)
|
||||
VFIO_PCI_VGA_REGION_INDEX = _anonenum0.define('VFIO_PCI_VGA_REGION_INDEX', 8)
|
||||
VFIO_PCI_NUM_REGIONS = _anonenum0.define('VFIO_PCI_NUM_REGIONS', 9)
|
||||
|
||||
class _anonenum1(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
VFIO_PCI_INTX_IRQ_INDEX = _anonenum1.define('VFIO_PCI_INTX_IRQ_INDEX', 0)
|
||||
VFIO_PCI_MSI_IRQ_INDEX = _anonenum1.define('VFIO_PCI_MSI_IRQ_INDEX', 1)
|
||||
VFIO_PCI_MSIX_IRQ_INDEX = _anonenum1.define('VFIO_PCI_MSIX_IRQ_INDEX', 2)
|
||||
VFIO_PCI_ERR_IRQ_INDEX = _anonenum1.define('VFIO_PCI_ERR_IRQ_INDEX', 3)
|
||||
VFIO_PCI_REQ_IRQ_INDEX = _anonenum1.define('VFIO_PCI_REQ_IRQ_INDEX', 4)
|
||||
VFIO_PCI_NUM_IRQS = _anonenum1.define('VFIO_PCI_NUM_IRQS', 5)
|
||||
|
||||
class _anonenum2(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
VFIO_CCW_CONFIG_REGION_INDEX = _anonenum2.define('VFIO_CCW_CONFIG_REGION_INDEX', 0)
|
||||
VFIO_CCW_NUM_REGIONS = _anonenum2.define('VFIO_CCW_NUM_REGIONS', 1)
|
||||
|
||||
class _anonenum3(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
VFIO_CCW_IO_IRQ_INDEX = _anonenum3.define('VFIO_CCW_IO_IRQ_INDEX', 0)
|
||||
VFIO_CCW_CRW_IRQ_INDEX = _anonenum3.define('VFIO_CCW_CRW_IRQ_INDEX', 1)
|
||||
VFIO_CCW_REQ_IRQ_INDEX = _anonenum3.define('VFIO_CCW_REQ_IRQ_INDEX', 2)
|
||||
VFIO_CCW_NUM_IRQS = _anonenum3.define('VFIO_CCW_NUM_IRQS', 3)
|
||||
|
||||
class _anonenum4(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
VFIO_AP_REQ_IRQ_INDEX = _anonenum4.define('VFIO_AP_REQ_IRQ_INDEX', 0)
|
||||
VFIO_AP_CFG_CHG_IRQ_INDEX = _anonenum4.define('VFIO_AP_CFG_CHG_IRQ_INDEX', 1)
|
||||
VFIO_AP_NUM_IRQS = _anonenum4.define('VFIO_AP_NUM_IRQS', 2)
|
||||
|
||||
argsz: int
|
||||
flags: int
|
||||
index: int
|
||||
start: int
|
||||
count: int
|
||||
data: c.Array[ctypes.c_ubyte, Literal[0]]
|
||||
__u8: TypeAlias = ctypes.c_ubyte
|
||||
struct_vfio_irq_set.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('index', ctypes.c_uint32, 8), ('start', ctypes.c_uint32, 12), ('count', ctypes.c_uint32, 16), ('data', c.Array[ctypes.c_ubyte, Literal[0]], 20)])
|
||||
_anonenum0: dict[int, str] = {(VFIO_PCI_BAR0_REGION_INDEX:=0): 'VFIO_PCI_BAR0_REGION_INDEX', (VFIO_PCI_BAR1_REGION_INDEX:=1): 'VFIO_PCI_BAR1_REGION_INDEX', (VFIO_PCI_BAR2_REGION_INDEX:=2): 'VFIO_PCI_BAR2_REGION_INDEX', (VFIO_PCI_BAR3_REGION_INDEX:=3): 'VFIO_PCI_BAR3_REGION_INDEX', (VFIO_PCI_BAR4_REGION_INDEX:=4): 'VFIO_PCI_BAR4_REGION_INDEX', (VFIO_PCI_BAR5_REGION_INDEX:=5): 'VFIO_PCI_BAR5_REGION_INDEX', (VFIO_PCI_ROM_REGION_INDEX:=6): 'VFIO_PCI_ROM_REGION_INDEX', (VFIO_PCI_CONFIG_REGION_INDEX:=7): 'VFIO_PCI_CONFIG_REGION_INDEX', (VFIO_PCI_VGA_REGION_INDEX:=8): 'VFIO_PCI_VGA_REGION_INDEX', (VFIO_PCI_NUM_REGIONS:=9): 'VFIO_PCI_NUM_REGIONS'}
|
||||
_anonenum1: dict[int, str] = {(VFIO_PCI_INTX_IRQ_INDEX:=0): 'VFIO_PCI_INTX_IRQ_INDEX', (VFIO_PCI_MSI_IRQ_INDEX:=1): 'VFIO_PCI_MSI_IRQ_INDEX', (VFIO_PCI_MSIX_IRQ_INDEX:=2): 'VFIO_PCI_MSIX_IRQ_INDEX', (VFIO_PCI_ERR_IRQ_INDEX:=3): 'VFIO_PCI_ERR_IRQ_INDEX', (VFIO_PCI_REQ_IRQ_INDEX:=4): 'VFIO_PCI_REQ_IRQ_INDEX', (VFIO_PCI_NUM_IRQS:=5): 'VFIO_PCI_NUM_IRQS'}
|
||||
_anonenum2: dict[int, str] = {(VFIO_CCW_CONFIG_REGION_INDEX:=0): 'VFIO_CCW_CONFIG_REGION_INDEX', (VFIO_CCW_NUM_REGIONS:=1): 'VFIO_CCW_NUM_REGIONS'}
|
||||
_anonenum3: dict[int, str] = {(VFIO_CCW_IO_IRQ_INDEX:=0): 'VFIO_CCW_IO_IRQ_INDEX', (VFIO_CCW_CRW_IRQ_INDEX:=1): 'VFIO_CCW_CRW_IRQ_INDEX', (VFIO_CCW_REQ_IRQ_INDEX:=2): 'VFIO_CCW_REQ_IRQ_INDEX', (VFIO_CCW_NUM_IRQS:=3): 'VFIO_CCW_NUM_IRQS'}
|
||||
_anonenum4: dict[int, str] = {(VFIO_AP_REQ_IRQ_INDEX:=0): 'VFIO_AP_REQ_IRQ_INDEX', (VFIO_AP_CFG_CHG_IRQ_INDEX:=1): 'VFIO_AP_CFG_CHG_IRQ_INDEX', (VFIO_AP_NUM_IRQS:=2): 'VFIO_AP_NUM_IRQS'}
|
||||
@c.record
|
||||
class struct_vfio_pci_dependent_device(c.Struct):
|
||||
SIZE = 8
|
||||
group_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
devid: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
segment: Annotated[Annotated[int, ctypes.c_uint16], 4]
|
||||
bus: Annotated[Annotated[int, ctypes.c_ubyte], 6]
|
||||
devfn: Annotated[Annotated[int, ctypes.c_ubyte], 7]
|
||||
group_id: int
|
||||
devid: int
|
||||
segment: int
|
||||
bus: int
|
||||
devfn: int
|
||||
struct_vfio_pci_dependent_device.register_fields([('group_id', ctypes.c_uint32, 0), ('devid', ctypes.c_uint32, 0), ('segment', ctypes.c_uint16, 4), ('bus', ctypes.c_ubyte, 6), ('devfn', ctypes.c_ubyte, 7)])
|
||||
@c.record
|
||||
class struct_vfio_pci_hot_reset_info(c.Struct):
|
||||
SIZE = 12
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
devices: Annotated[c.Array[struct_vfio_pci_dependent_device, Literal[0]], 12]
|
||||
argsz: int
|
||||
flags: int
|
||||
count: int
|
||||
devices: c.Array[struct_vfio_pci_dependent_device, Literal[0]]
|
||||
struct_vfio_pci_hot_reset_info.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('count', ctypes.c_uint32, 8), ('devices', c.Array[struct_vfio_pci_dependent_device, Literal[0]], 12)])
|
||||
@c.record
|
||||
class struct_vfio_pci_hot_reset(c.Struct):
|
||||
SIZE = 12
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
count: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
group_fds: Annotated[c.Array[Annotated[int, ctypes.c_int32], Literal[0]], 12]
|
||||
__s32: TypeAlias = Annotated[int, ctypes.c_int32]
|
||||
argsz: int
|
||||
flags: int
|
||||
count: int
|
||||
group_fds: c.Array[ctypes.c_int32, Literal[0]]
|
||||
__s32: TypeAlias = ctypes.c_int32
|
||||
struct_vfio_pci_hot_reset.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('count', ctypes.c_uint32, 8), ('group_fds', c.Array[ctypes.c_int32, Literal[0]], 12)])
|
||||
@c.record
|
||||
class struct_vfio_device_gfx_plane_info(c.Struct):
|
||||
SIZE = 64
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
drm_plane_type: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
drm_format: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
drm_format_mod: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
width: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
height: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
stride: Annotated[Annotated[int, ctypes.c_uint32], 32]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint32], 36]
|
||||
x_pos: Annotated[Annotated[int, ctypes.c_uint32], 40]
|
||||
y_pos: Annotated[Annotated[int, ctypes.c_uint32], 44]
|
||||
x_hot: Annotated[Annotated[int, ctypes.c_uint32], 48]
|
||||
y_hot: Annotated[Annotated[int, ctypes.c_uint32], 52]
|
||||
region_index: Annotated[Annotated[int, ctypes.c_uint32], 56]
|
||||
dmabuf_id: Annotated[Annotated[int, ctypes.c_uint32], 56]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 60]
|
||||
argsz: int
|
||||
flags: int
|
||||
drm_plane_type: int
|
||||
drm_format: int
|
||||
drm_format_mod: int
|
||||
width: int
|
||||
height: int
|
||||
stride: int
|
||||
size: int
|
||||
x_pos: int
|
||||
y_pos: int
|
||||
x_hot: int
|
||||
y_hot: int
|
||||
region_index: int
|
||||
dmabuf_id: int
|
||||
reserved: int
|
||||
struct_vfio_device_gfx_plane_info.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('drm_plane_type', ctypes.c_uint32, 8), ('drm_format', ctypes.c_uint32, 12), ('drm_format_mod', ctypes.c_uint64, 16), ('width', ctypes.c_uint32, 24), ('height', ctypes.c_uint32, 28), ('stride', ctypes.c_uint32, 32), ('size', ctypes.c_uint32, 36), ('x_pos', ctypes.c_uint32, 40), ('y_pos', ctypes.c_uint32, 44), ('x_hot', ctypes.c_uint32, 48), ('y_hot', ctypes.c_uint32, 52), ('region_index', ctypes.c_uint32, 56), ('dmabuf_id', ctypes.c_uint32, 56), ('reserved', ctypes.c_uint32, 60)])
|
||||
@c.record
|
||||
class struct_vfio_device_ioeventfd(c.Struct):
|
||||
SIZE = 32
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
offset: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
data: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
fd: Annotated[Annotated[int, ctypes.c_int32], 24]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
argsz: int
|
||||
flags: int
|
||||
offset: int
|
||||
data: int
|
||||
fd: int
|
||||
reserved: int
|
||||
struct_vfio_device_ioeventfd.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('offset', ctypes.c_uint64, 8), ('data', ctypes.c_uint64, 16), ('fd', ctypes.c_int32, 24), ('reserved', ctypes.c_uint32, 28)])
|
||||
@c.record
|
||||
class struct_vfio_device_feature(c.Struct):
|
||||
SIZE = 8
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
data: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[0]], 8]
|
||||
argsz: int
|
||||
flags: int
|
||||
data: c.Array[ctypes.c_ubyte, Literal[0]]
|
||||
struct_vfio_device_feature.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('data', c.Array[ctypes.c_ubyte, Literal[0]], 8)])
|
||||
@c.record
|
||||
class struct_vfio_device_bind_iommufd(c.Struct):
|
||||
SIZE = 24
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
iommufd: Annotated[Annotated[int, ctypes.c_int32], 8]
|
||||
out_devid: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
token_uuid_ptr: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
argsz: int
|
||||
flags: int
|
||||
iommufd: int
|
||||
out_devid: int
|
||||
token_uuid_ptr: int
|
||||
struct_vfio_device_bind_iommufd.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('iommufd', ctypes.c_int32, 8), ('out_devid', ctypes.c_uint32, 12), ('token_uuid_ptr', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_vfio_device_attach_iommufd_pt(c.Struct):
|
||||
SIZE = 16
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
pt_id: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
pasid: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
argsz: int
|
||||
flags: int
|
||||
pt_id: int
|
||||
pasid: int
|
||||
struct_vfio_device_attach_iommufd_pt.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('pt_id', ctypes.c_uint32, 8), ('pasid', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_vfio_device_detach_iommufd_pt(c.Struct):
|
||||
SIZE = 12
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
pasid: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
argsz: int
|
||||
flags: int
|
||||
pasid: int
|
||||
struct_vfio_device_detach_iommufd_pt.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('pasid', ctypes.c_uint32, 8)])
|
||||
@c.record
|
||||
class struct_vfio_device_feature_migration(c.Struct):
|
||||
SIZE = 8
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
flags: int
|
||||
struct_vfio_device_feature_migration.register_fields([('flags', ctypes.c_uint64, 0)])
|
||||
@c.record
|
||||
class struct_vfio_device_feature_mig_state(c.Struct):
|
||||
SIZE = 8
|
||||
device_state: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
data_fd: Annotated[Annotated[int, ctypes.c_int32], 4]
|
||||
class enum_vfio_device_mig_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
|
||||
VFIO_DEVICE_STATE_ERROR = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_ERROR', 0)
|
||||
VFIO_DEVICE_STATE_STOP = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_STOP', 1)
|
||||
VFIO_DEVICE_STATE_RUNNING = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_RUNNING', 2)
|
||||
VFIO_DEVICE_STATE_STOP_COPY = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_STOP_COPY', 3)
|
||||
VFIO_DEVICE_STATE_RESUMING = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_RESUMING', 4)
|
||||
VFIO_DEVICE_STATE_RUNNING_P2P = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_RUNNING_P2P', 5)
|
||||
VFIO_DEVICE_STATE_PRE_COPY = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_PRE_COPY', 6)
|
||||
VFIO_DEVICE_STATE_PRE_COPY_P2P = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_PRE_COPY_P2P', 7)
|
||||
VFIO_DEVICE_STATE_NR = enum_vfio_device_mig_state.define('VFIO_DEVICE_STATE_NR', 8)
|
||||
|
||||
device_state: int
|
||||
data_fd: int
|
||||
struct_vfio_device_feature_mig_state.register_fields([('device_state', ctypes.c_uint32, 0), ('data_fd', ctypes.c_int32, 4)])
|
||||
enum_vfio_device_mig_state: dict[int, str] = {(VFIO_DEVICE_STATE_ERROR:=0): 'VFIO_DEVICE_STATE_ERROR', (VFIO_DEVICE_STATE_STOP:=1): 'VFIO_DEVICE_STATE_STOP', (VFIO_DEVICE_STATE_RUNNING:=2): 'VFIO_DEVICE_STATE_RUNNING', (VFIO_DEVICE_STATE_STOP_COPY:=3): 'VFIO_DEVICE_STATE_STOP_COPY', (VFIO_DEVICE_STATE_RESUMING:=4): 'VFIO_DEVICE_STATE_RESUMING', (VFIO_DEVICE_STATE_RUNNING_P2P:=5): 'VFIO_DEVICE_STATE_RUNNING_P2P', (VFIO_DEVICE_STATE_PRE_COPY:=6): 'VFIO_DEVICE_STATE_PRE_COPY', (VFIO_DEVICE_STATE_PRE_COPY_P2P:=7): 'VFIO_DEVICE_STATE_PRE_COPY_P2P', (VFIO_DEVICE_STATE_NR:=8): 'VFIO_DEVICE_STATE_NR'}
|
||||
@c.record
|
||||
class struct_vfio_precopy_info(c.Struct):
|
||||
SIZE = 24
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
initial_bytes: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
dirty_bytes: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
argsz: int
|
||||
flags: int
|
||||
initial_bytes: int
|
||||
dirty_bytes: int
|
||||
struct_vfio_precopy_info.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('initial_bytes', ctypes.c_uint64, 8), ('dirty_bytes', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_vfio_device_low_power_entry_with_wakeup(c.Struct):
|
||||
SIZE = 8
|
||||
wakeup_eventfd: Annotated[Annotated[int, ctypes.c_int32], 0]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
wakeup_eventfd: int
|
||||
reserved: int
|
||||
struct_vfio_device_low_power_entry_with_wakeup.register_fields([('wakeup_eventfd', ctypes.c_int32, 0), ('reserved', ctypes.c_uint32, 4)])
|
||||
@c.record
|
||||
class struct_vfio_device_feature_dma_logging_control(c.Struct):
|
||||
SIZE = 24
|
||||
page_size: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
num_ranges: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
__reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
ranges: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
page_size: int
|
||||
num_ranges: int
|
||||
__reserved: int
|
||||
ranges: int
|
||||
struct_vfio_device_feature_dma_logging_control.register_fields([('page_size', ctypes.c_uint64, 0), ('num_ranges', ctypes.c_uint32, 8), ('__reserved', ctypes.c_uint32, 12), ('ranges', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_vfio_device_feature_dma_logging_range(c.Struct):
|
||||
SIZE = 16
|
||||
iova: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
length: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
iova: int
|
||||
length: int
|
||||
struct_vfio_device_feature_dma_logging_range.register_fields([('iova', ctypes.c_uint64, 0), ('length', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_vfio_device_feature_dma_logging_report(c.Struct):
|
||||
SIZE = 32
|
||||
iova: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
length: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
page_size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
bitmap: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
iova: int
|
||||
length: int
|
||||
page_size: int
|
||||
bitmap: int
|
||||
struct_vfio_device_feature_dma_logging_report.register_fields([('iova', ctypes.c_uint64, 0), ('length', ctypes.c_uint64, 8), ('page_size', ctypes.c_uint64, 16), ('bitmap', ctypes.c_uint64, 24)])
|
||||
@c.record
|
||||
class struct_vfio_device_feature_mig_data_size(c.Struct):
|
||||
SIZE = 8
|
||||
stop_copy_length: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
stop_copy_length: int
|
||||
struct_vfio_device_feature_mig_data_size.register_fields([('stop_copy_length', ctypes.c_uint64, 0)])
|
||||
@c.record
|
||||
class struct_vfio_device_feature_bus_master(c.Struct):
|
||||
SIZE = 4
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
op: int
|
||||
struct_vfio_device_feature_bus_master.register_fields([('op', ctypes.c_uint32, 0)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_type1_info(c.Struct):
|
||||
SIZE = 24
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
iova_pgsizes: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
cap_offset: Annotated[Annotated[int, ctypes.c_uint32], 16]
|
||||
pad: Annotated[Annotated[int, ctypes.c_uint32], 20]
|
||||
argsz: int
|
||||
flags: int
|
||||
iova_pgsizes: int
|
||||
cap_offset: int
|
||||
pad: int
|
||||
struct_vfio_iommu_type1_info.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('iova_pgsizes', ctypes.c_uint64, 8), ('cap_offset', ctypes.c_uint32, 16), ('pad', ctypes.c_uint32, 20)])
|
||||
@c.record
|
||||
class struct_vfio_iova_range(c.Struct):
|
||||
SIZE = 16
|
||||
start: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
end: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
start: int
|
||||
end: int
|
||||
struct_vfio_iova_range.register_fields([('start', ctypes.c_uint64, 0), ('end', ctypes.c_uint64, 8)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_type1_info_cap_iova_range(c.Struct):
|
||||
SIZE = 16
|
||||
header: Annotated[struct_vfio_info_cap_header, 0]
|
||||
nr_iovas: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
iova_ranges: Annotated[c.Array[struct_vfio_iova_range, Literal[0]], 16]
|
||||
header: struct_vfio_info_cap_header
|
||||
nr_iovas: int
|
||||
reserved: int
|
||||
iova_ranges: c.Array[struct_vfio_iova_range, Literal[0]]
|
||||
struct_vfio_iommu_type1_info_cap_iova_range.register_fields([('header', struct_vfio_info_cap_header, 0), ('nr_iovas', ctypes.c_uint32, 8), ('reserved', ctypes.c_uint32, 12), ('iova_ranges', c.Array[struct_vfio_iova_range, Literal[0]], 16)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_type1_info_cap_migration(c.Struct):
|
||||
SIZE = 32
|
||||
header: Annotated[struct_vfio_info_cap_header, 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
pgsize_bitmap: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
max_dirty_bitmap_size: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
header: struct_vfio_info_cap_header
|
||||
flags: int
|
||||
pgsize_bitmap: int
|
||||
max_dirty_bitmap_size: int
|
||||
struct_vfio_iommu_type1_info_cap_migration.register_fields([('header', struct_vfio_info_cap_header, 0), ('flags', ctypes.c_uint32, 8), ('pgsize_bitmap', ctypes.c_uint64, 16), ('max_dirty_bitmap_size', ctypes.c_uint64, 24)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_type1_info_dma_avail(c.Struct):
|
||||
SIZE = 12
|
||||
header: Annotated[struct_vfio_info_cap_header, 0]
|
||||
avail: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
header: struct_vfio_info_cap_header
|
||||
avail: int
|
||||
struct_vfio_iommu_type1_info_dma_avail.register_fields([('header', struct_vfio_info_cap_header, 0), ('avail', ctypes.c_uint32, 8)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_type1_dma_map(c.Struct):
|
||||
SIZE = 32
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
vaddr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
iova: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 24]
|
||||
argsz: int
|
||||
flags: int
|
||||
vaddr: int
|
||||
iova: int
|
||||
size: int
|
||||
struct_vfio_iommu_type1_dma_map.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('vaddr', ctypes.c_uint64, 8), ('iova', ctypes.c_uint64, 16), ('size', ctypes.c_uint64, 24)])
|
||||
@c.record
|
||||
class struct_vfio_bitmap(c.Struct):
|
||||
SIZE = 24
|
||||
pgsize: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
data: Annotated[c.POINTER[Annotated[int, ctypes.c_uint64]], 16]
|
||||
pgsize: int
|
||||
size: int
|
||||
data: c.POINTER[ctypes.c_uint64]
|
||||
struct_vfio_bitmap.register_fields([('pgsize', ctypes.c_uint64, 0), ('size', ctypes.c_uint64, 8), ('data', c.POINTER[ctypes.c_uint64], 16)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_type1_dma_unmap(c.Struct):
|
||||
SIZE = 24
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
iova: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
data: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[0]], 24]
|
||||
argsz: int
|
||||
flags: int
|
||||
iova: int
|
||||
size: int
|
||||
data: c.Array[ctypes.c_ubyte, Literal[0]]
|
||||
struct_vfio_iommu_type1_dma_unmap.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('iova', ctypes.c_uint64, 8), ('size', ctypes.c_uint64, 16), ('data', c.Array[ctypes.c_ubyte, Literal[0]], 24)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_type1_dirty_bitmap(c.Struct):
|
||||
SIZE = 8
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
data: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[0]], 8]
|
||||
argsz: int
|
||||
flags: int
|
||||
data: c.Array[ctypes.c_ubyte, Literal[0]]
|
||||
struct_vfio_iommu_type1_dirty_bitmap.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('data', c.Array[ctypes.c_ubyte, Literal[0]], 8)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_type1_dirty_bitmap_get(c.Struct):
|
||||
SIZE = 40
|
||||
iova: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
bitmap: Annotated[struct_vfio_bitmap, 16]
|
||||
iova: int
|
||||
size: int
|
||||
bitmap: struct_vfio_bitmap
|
||||
struct_vfio_iommu_type1_dirty_bitmap_get.register_fields([('iova', ctypes.c_uint64, 0), ('size', ctypes.c_uint64, 8), ('bitmap', struct_vfio_bitmap, 16)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_spapr_tce_ddw_info(c.Struct):
|
||||
SIZE = 16
|
||||
pgsizes: Annotated[Annotated[int, ctypes.c_uint64], 0]
|
||||
max_dynamic_windows_supported: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
levels: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
pgsizes: int
|
||||
max_dynamic_windows_supported: int
|
||||
levels: int
|
||||
struct_vfio_iommu_spapr_tce_ddw_info.register_fields([('pgsizes', ctypes.c_uint64, 0), ('max_dynamic_windows_supported', ctypes.c_uint32, 8), ('levels', ctypes.c_uint32, 12)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_spapr_tce_info(c.Struct):
|
||||
SIZE = 32
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
dma32_window_start: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
dma32_window_size: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
ddw: Annotated[struct_vfio_iommu_spapr_tce_ddw_info, 16]
|
||||
argsz: int
|
||||
flags: int
|
||||
dma32_window_start: int
|
||||
dma32_window_size: int
|
||||
ddw: struct_vfio_iommu_spapr_tce_ddw_info
|
||||
struct_vfio_iommu_spapr_tce_info.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('dma32_window_start', ctypes.c_uint32, 8), ('dma32_window_size', ctypes.c_uint32, 12), ('ddw', struct_vfio_iommu_spapr_tce_ddw_info, 16)])
|
||||
@c.record
|
||||
class struct_vfio_eeh_pe_err(c.Struct):
|
||||
SIZE = 24
|
||||
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
func: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
addr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
mask: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
type: int
|
||||
func: int
|
||||
addr: int
|
||||
mask: int
|
||||
struct_vfio_eeh_pe_err.register_fields([('type', ctypes.c_uint32, 0), ('func', ctypes.c_uint32, 4), ('addr', ctypes.c_uint64, 8), ('mask', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_vfio_eeh_pe_op(c.Struct):
|
||||
SIZE = 40
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
op: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
err: Annotated[struct_vfio_eeh_pe_err, 16]
|
||||
argsz: int
|
||||
flags: int
|
||||
op: int
|
||||
err: struct_vfio_eeh_pe_err
|
||||
struct_vfio_eeh_pe_op.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('op', ctypes.c_uint32, 8), ('err', struct_vfio_eeh_pe_err, 16)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_spapr_register_memory(c.Struct):
|
||||
SIZE = 24
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
vaddr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
argsz: int
|
||||
flags: int
|
||||
vaddr: int
|
||||
size: int
|
||||
struct_vfio_iommu_spapr_register_memory.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('vaddr', ctypes.c_uint64, 8), ('size', ctypes.c_uint64, 16)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_spapr_tce_create(c.Struct):
|
||||
SIZE = 40
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
page_shift: Annotated[Annotated[int, ctypes.c_uint32], 8]
|
||||
__resv1: Annotated[Annotated[int, ctypes.c_uint32], 12]
|
||||
window_size: Annotated[Annotated[int, ctypes.c_uint64], 16]
|
||||
levels: Annotated[Annotated[int, ctypes.c_uint32], 24]
|
||||
__resv2: Annotated[Annotated[int, ctypes.c_uint32], 28]
|
||||
start_addr: Annotated[Annotated[int, ctypes.c_uint64], 32]
|
||||
argsz: int
|
||||
flags: int
|
||||
page_shift: int
|
||||
__resv1: int
|
||||
window_size: int
|
||||
levels: int
|
||||
__resv2: int
|
||||
start_addr: int
|
||||
struct_vfio_iommu_spapr_tce_create.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('page_shift', ctypes.c_uint32, 8), ('__resv1', ctypes.c_uint32, 12), ('window_size', ctypes.c_uint64, 16), ('levels', ctypes.c_uint32, 24), ('__resv2', ctypes.c_uint32, 28), ('start_addr', ctypes.c_uint64, 32)])
|
||||
@c.record
|
||||
class struct_vfio_iommu_spapr_tce_remove(c.Struct):
|
||||
SIZE = 16
|
||||
argsz: Annotated[Annotated[int, ctypes.c_uint32], 0]
|
||||
flags: Annotated[Annotated[int, ctypes.c_uint32], 4]
|
||||
start_addr: Annotated[Annotated[int, ctypes.c_uint64], 8]
|
||||
c.init_records()
|
||||
argsz: int
|
||||
flags: int
|
||||
start_addr: int
|
||||
struct_vfio_iommu_spapr_tce_remove.register_fields([('argsz', ctypes.c_uint32, 0), ('flags', ctypes.c_uint32, 4), ('start_addr', ctypes.c_uint64, 8)])
|
||||
VFIO_API_VERSION = 0 # type: ignore
|
||||
VFIO_TYPE1_IOMMU = 1 # type: ignore
|
||||
VFIO_SPAPR_TCE_IOMMU = 2 # type: ignore
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -43,7 +43,7 @@ class CUDAProgram:
|
|||
status = cuda.cuModuleLoadData(ctypes.byref(self.module), lib)
|
||||
if status != 0:
|
||||
del self.module
|
||||
raise RuntimeError(f"module load failed with status code {status}: {cuda.CUresult.get(status)}")
|
||||
raise RuntimeError(f"module load failed with status code {status}: {cuda.enum_cudaError_enum.get(status)}")
|
||||
check(cuda.cuModuleGetFunction(ctypes.byref(prg := cuda.CUfunction()), self.module, name.encode("utf-8")))
|
||||
self.prg = prg
|
||||
if self.smem > 0: check(cuda.cuFuncSetAttribute(self.prg, cuda.CU_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES, self.smem))
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import ctypes, time, contextlib, functools
|
||||
from typing import cast, Literal
|
||||
from typing import Literal
|
||||
from tinygrad.helpers import to_mv, data64, lo32, hi32, DEBUG, wait_cond, pad_bytes, getbits
|
||||
from tinygrad.runtime.autogen.am import am
|
||||
from tinygrad.runtime.support.amd import import_soc
|
||||
|
|
@ -674,7 +674,7 @@ class AM_PSP(AM_IP):
|
|||
cmd = am.struct_psp_gfx_cmd_resp(cmd_id=am.GFX_CMD_ID_LOAD_IP_FW)
|
||||
cmd.cmd.cmd_load_ip_fw.fw_phy_addr_hi, cmd.cmd.cmd_load_ip_fw.fw_phy_addr_lo = data64(self.msg1_addr)
|
||||
cmd.cmd.cmd_load_ip_fw.fw_size = len(fw_bytes)
|
||||
cmd.cmd.cmd_load_ip_fw.fw_type = cast(am.enum_psp_gfx_fw_type, fw_type)
|
||||
cmd.cmd.cmd_load_ip_fw.fw_type = fw_type
|
||||
self._ring_submit(cmd)
|
||||
|
||||
def _tmr_load_cmd(self) -> am.struct_psp_gfx_cmd_resp:
|
||||
|
|
|
|||
|
|
@ -85,24 +85,32 @@ base_rules = [(r'\s*\\\n\s*', ' '), (r'\s*\n\s*', ' '), (r'//.*', ''), (r'/\*.*?
|
|||
(r'\((unsigned )?(char|uint64_t)\)', ''), (r'^.*\d+:\d+.*$', ''), (r'^.*\w##\w.*$', '')]
|
||||
|
||||
uints = (clang.CXType_Char_U, clang.CXType_UChar, clang.CXType_UShort, clang.CXType_UInt, clang.CXType_ULong, clang.CXType_ULongLong)
|
||||
ints = uints + (clang.CXType_Char_S, clang.CXType_Short, clang.CXType_Int, clang.CXType_ULong, clang.CXType_LongLong)
|
||||
ints = uints + (clang.CXType_Char_S, clang.CXType_Short, clang.CXType_Int, clang.CXType_Long, clang.CXType_LongLong)
|
||||
fps, specs = (clang.CXType_FunctionProto, clang.CXType_FunctionNoProto), (clang.CXCursor_ObjCSuperClassRef,) # this could include protocols
|
||||
|
||||
tmap = {clang.CXType_Void:"None", clang.CXType_Char_U:"ctypes.c_ubyte", clang.CXType_UChar:"ctypes.c_ubyte", clang.CXType_WChar:"ctypes.c_wchar",
|
||||
clang.CXType_Char_S:"ctypes.c_char", clang.CXType_SChar:"ctypes.c_byte", clang.CXType_Bool:"ctypes.c_bool",
|
||||
**{getattr(clang, f'CXType_{k}'):f"ctypes.c_{k.lower()}" for k in ["Float", "Double", "LongDouble"]},
|
||||
**{getattr(clang, f'CXType_{k}'):f"ctypes.c_{'u' if 'U' in k else ''}int{sz}" for sz,k in
|
||||
[(16, "UShort"), (16, "Short"), (32, "UInt"), (32, "Int"), (64, "ULong"), (64, "Long"), (64, "ULongLong"), (64, "LongLong")]}}
|
||||
|
||||
# https://clang.llvm.org/docs/AutomaticReferenceCounting.html#arc-method-families
|
||||
arc_families = ['alloc', 'copy', 'mutableCopy', 'new']
|
||||
|
||||
def normalize(a): return ("_" + n if keyword.iskeyword(n:=nm(a)) else n)
|
||||
def an(py, dt): return f"Annotated[{py}, ctypes.c_{dt}]"
|
||||
|
||||
def gen(name, dll, files, args=[], prolog=[], rules=[], epilog=[], recsym=False, errno=False, anon_names={}, types={}, parse_macros=True, paths=[]):
|
||||
macros, lines, anoncnt, types, objc, fns = [], [], itertools.count().__next__, {k:(v,True) for k,v in types.items()}, False, set()
|
||||
|
||||
# ctypes automatically "unboxes" simple types
|
||||
def typehint(ty) -> str:
|
||||
if (v:={**{i:"int" for i in ints}, **{getattr(clang, f"CXType_{f}"):"float" for f in ['Float', 'Double', 'LongDouble']}, clang.CXType_Enum:"int",
|
||||
clang.CXType_WChar:"str", clang.CXType_SChar:"int", clang.CXType_Char_S:"bytes", clang.CXType_Bool:"bool",}.get(ty.kind, None)): return v
|
||||
return tname(ty)
|
||||
|
||||
def tname(t, suggested_name=None, typedef=None) -> str:
|
||||
suggested_name = anon_names.get(f"{loc_file(loc(decl:=clang.clang_getTypeDeclaration(t)))}:{loc_line(loc(decl))}", suggested_name)
|
||||
nonlocal lines, types, anoncnt, objc
|
||||
tmap = {clang.CXType_Void:"None",clang.CXType_Char_U:an("int","ubyte"),clang.CXType_UChar:an("int","ubyte"),clang.CXType_WChar:an("str","wchar"),
|
||||
clang.CXType_Char_S:an("bytes","char"),clang.CXType_SChar:an("int","byte"),clang.CXType_Bool:an("bool","bool"),
|
||||
**{getattr(clang, f'CXType_{k}'):an("float", k.lower()) for k in ["Float", "Double", "LongDouble"]},
|
||||
**{getattr(clang, f'CXType_{k}'):an("int", f"{'u' if 'U' in k else ''}int{sz}") for sz,k in
|
||||
[(16, "UShort"), (16, "Short"), (32, "UInt"), (32, "Int"), (64, "ULong"), (64, "Long"), (64, "ULongLong"), (64, "LongLong")]}}
|
||||
|
||||
if t.kind in tmap: return tmap[t.kind]
|
||||
if nm(t) in types and types[nm(t)][1]: return types[nm(t)][0]
|
||||
|
|
@ -124,34 +132,35 @@ def gen(name, dll, files, args=[], prolog=[], rules=[], epilog=[], recsym=False,
|
|||
# TODO: packed unions
|
||||
# libclang does not use CXType_Elaborated for function parameters with type qualifiers (eg. void (*)(const struct foo))
|
||||
if (_nm:=re.sub(r"^const ", "", nm(t))) in types and types[_nm][1]: return types[_nm][0]
|
||||
# check for forward declaration
|
||||
if _nm in types: types[_nm] = (tnm:=types[_nm][0]), len(fields(t)) != 0, (ln:=types[_nm][2])
|
||||
|
||||
# check if previously declared
|
||||
if _nm in types: types[_nm] = (tnm:=types[_nm][0]), types[_nm][1] or len(fields(t)) != 0, (ln:=types[_nm][2])
|
||||
else:
|
||||
real_nm = ((suggested_name or (f"_anon{'struct' if decl.kind==clang.CXCursor_StructDecl else 'union'}{anoncnt()}"))
|
||||
if clang.clang_Cursor_isAnonymous(decl) else _nm)
|
||||
types[_nm] = (tnm:=real_nm.replace(' ', '_').replace('::', '_')), len(fields(t)) != 0, (ln:=len(lines))
|
||||
lines.append(f"class {tnm}(c.Struct): SIZE = 0")
|
||||
lines.append(f"class {tnm}(c.Struct): pass")
|
||||
if typedef:
|
||||
lines.append(f"{typedef.replace('::', '_')}: TypeAlias = {tnm}")
|
||||
types[typedef] = typedef.replace('::', '_'), True
|
||||
ff=[(f, tname(clang.clang_getCursorType(f), f"{tnm}_{nm(f)}"), offset) +
|
||||
((clang.clang_getFieldDeclBitWidth(f), clang.clang_Cursor_getOffsetOfField(f) % 8) *clang.clang_Cursor_isBitField(f))
|
||||
for f,offset in all_fields(t)]
|
||||
if ff: lines[ln] = '\n'.join(["@c.record", f"class {tnm}(c.Struct):", f" SIZE = {clang.clang_Type_getSizeOf(t)}",
|
||||
*[f" {normalize(f)}: Annotated[{', '.join(str(a) for a in args)}]" for f,*args in ff]])
|
||||
ff = [(normalize(f), clang.clang_getCanonicalType(ty:=clang.clang_getCursorType(f)), tname(ty, f"{tnm}_{nm(f)}"), offset) +
|
||||
((clang.clang_getFieldDeclBitWidth(f), clang.clang_Cursor_getOffsetOfField(f) % 8) * clang.clang_Cursor_isBitField(f))
|
||||
for f,offset in all_fields(t)]
|
||||
if ff:
|
||||
lines[ln] = "\n".join(["@c.record", f"class {tnm}(c.Struct):", f" SIZE = {clang.clang_Type_getSizeOf(t)}"] +
|
||||
[f" {f}: {typehint(ty)}" for f,ty,*args in ff])
|
||||
lines.append(f"{tnm}.register_fields([" + ", ".join([f"('{f}', {', '.join(str(a) for a in args)})" for f,ty,*args in ff]) + "])")
|
||||
return tnm
|
||||
case clang.CXType_Enum:
|
||||
# TODO: C++ and GNU C have forward declared enums
|
||||
if clang.clang_Cursor_isAnonymous(decl): types[nm(t)] = suggested_name or f"_anonenum{anoncnt()}", True
|
||||
else: types[nm(t)] = nm(t).replace(' ', '_').replace('::', '_'), True
|
||||
ety = clang.clang_getEnumDeclIntegerType(decl)
|
||||
types[nm(t)] = tname(ety:=clang.clang_getEnumDeclIntegerType(decl)), True
|
||||
enm = suggested_name or f"_anonenum{anoncnt()}" if clang.clang_Cursor_isAnonymous(decl) else nm(t).replace(' ', '_').replace('::', '_')
|
||||
def value(e): return (clang.clang_getEnumConstantDeclUnsignedValue if ety.kind in uints else clang.clang_getEnumConstantDeclValue)(e)
|
||||
lines.append(f"class {types[nm(t)][0]}({tname(ety)}, c.Enum): pass\n" +
|
||||
"\n".join(f"{nm(e)} = {types[nm(t)][0]}.define('{nm(e)}', {value(e)})" for e in children(decl)
|
||||
if e.kind == clang.CXCursor_EnumConstantDecl) + "\n")
|
||||
lines.append(f"{enm}: dict[int, str] = {{" + ", ".join(f"({nm(e)}:={value(e)}): '{nm(e)}'" for e in children(decl)
|
||||
if e.kind == clang.CXCursor_EnumConstantDecl) + "}")
|
||||
return types[nm(t)][0]
|
||||
case clang.CXType_ConstantArray: return ("c.Array[" + tname(clang.clang_getArrayElementType(t), suggested_name and suggested_name.rstrip('s'))
|
||||
+ f", Literal[{clang.clang_getArraySize(t)}]]")
|
||||
case clang.CXType_ConstantArray: return (f"c.Array[{tname(clang.clang_getArrayElementType(t), suggested_name and suggested_name.rstrip('s'))}, "
|
||||
f"Literal[{clang.clang_getArraySize(t)}]]")
|
||||
case clang.CXType_IncompleteArray:
|
||||
return f"c.Array[{tname(clang.clang_getArrayElementType(t), suggested_name and suggested_name.rstrip('s'))}, Literal[0]]"
|
||||
case clang.CXType_ObjCInterface:
|
||||
|
|
@ -224,8 +233,10 @@ def gen(name, dll, files, args=[], prolog=[], rules=[], epilog=[], recsym=False,
|
|||
case clang.CXCursor_FunctionDecl if clang.clang_getCursorLinkage(c) == clang.CXLinkage_External and dll and nm(c) not in fns:
|
||||
# TODO: we could support name-mangling
|
||||
fns.add(nm(c))
|
||||
argus = [f"{normalize(arg) or '_' + str(i)}:{tname(clang.clang_getCursorType(arg))}" for i, arg in enumerate(arguments(c))]
|
||||
lines.extend(["@dll.bind", f"def {nm(c)}({', '.join(argus)}) -> {tname(clang.clang_getCursorResultType(c))}: ..."])
|
||||
rt, ats = clang.clang_getCursorResultType(c), [clang.clang_getCursorType(arg) for arg in arguments(c)]
|
||||
anms = [normalize(arg) or '_' + str(i) for i, arg in enumerate(arguments(c))]
|
||||
lines.extend([f"@dll.bind({', '.join([tname(at) for at in [rt] + ats])})",
|
||||
f"def {nm(c)}({', '.join([f'{anm}:{typehint(at)}' for anm, at in zip(anms, ats)])}) -> {typehint(rt)}: ..."])
|
||||
if clang.CXCursor_NSReturnsRetained in attrs(c): lines.append(f"{nm(c)} = objc.returns_retained({nm(c)})")
|
||||
case (clang.CXCursor_StructDecl | clang.CXCursor_UnionDecl | clang.CXCursor_TypedefDecl | clang.CXCursor_EnumDecl
|
||||
| clang.CXCursor_ObjCInterfaceDecl): tname(clang.clang_getCursorType(c))
|
||||
|
|
@ -256,10 +267,9 @@ def gen(name, dll, files, args=[], prolog=[], rules=[], epilog=[], recsym=False,
|
|||
clang.clang_disposeTranslationUnit(tu)
|
||||
clang.clang_disposeIndex(idx)
|
||||
main = '\n'.join(['# mypy: disable-error-code="empty-body"', "from __future__ import annotations", "import ctypes",
|
||||
"from typing import Annotated, Literal, TypeAlias", "from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR",
|
||||
"from typing import Literal, TypeAlias", "from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR",
|
||||
"from tinygrad.runtime.support import c", *prolog, *(["from tinygrad.runtime.support import objc"]*objc),
|
||||
*([f"dll = c.DLL('{name}', {dll}{f', {paths}'*bool(paths)}{', use_errno=True'*errno})"] if dll else []), *lines,
|
||||
"c.init_records()"]) + '\n'
|
||||
*([f"dll = c.DLL('{name}', {dll}{f', {paths}'*bool(paths)}{', use_errno=True'*errno})"] if dll else []), *lines]) + '\n'
|
||||
macros = [f"{r} # type: ignore" for m in macros if (r:=functools.reduce(lambda s,r:re.sub(r[0], r[1], s), rules + base_rules, m))]
|
||||
while True:
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from __future__ import annotations
|
||||
import ctypes, functools, os, pathlib, re, sys, sysconfig
|
||||
from tinygrad.helpers import ceildiv, getenv, unwrap, DEBUG, OSX, WIN
|
||||
from typing import TYPE_CHECKING, get_type_hints, get_args, get_origin, overload, Annotated, Any, Generic, Iterable, ParamSpec, TypeVar
|
||||
from tinygrad.helpers import ceildiv, getenv, DEBUG, OSX, WIN
|
||||
from typing import TYPE_CHECKING, get_args, Generic, ParamSpec, TypeVar
|
||||
|
||||
def _do_ioctl(__idir, __base, __nr, __struct, __fd, *args, __payload=None, **kwargs):
|
||||
assert not WIN, "ioctl not supported"
|
||||
|
|
@ -13,93 +13,55 @@ def _do_ioctl(__idir, __base, __nr, __struct, __fd, *args, __payload=None, **kwa
|
|||
return out
|
||||
|
||||
def _IO(base, nr): return functools.partial(_do_ioctl, 0, ord(base) if isinstance(base, str) else base, nr, None)
|
||||
def _IOW(base, nr, typ): return functools.partial(_do_ioctl, 1, ord(base) if isinstance(base, str) else base, nr, del_an(typ))
|
||||
def _IOR(base, nr, typ): return functools.partial(_do_ioctl, 2, ord(base) if isinstance(base, str) else base, nr, del_an(typ))
|
||||
def _IOWR(base, nr, typ): return functools.partial(_do_ioctl, 3, ord(base) if isinstance(base, str) else base, nr, del_an(typ))
|
||||
|
||||
def del_an(ty):
|
||||
if isinstance(ty, type) and issubclass(ty, Enum): return del_an(ty.__orig_bases__[0]) # type: ignore
|
||||
return ty.__metadata__[0] if get_origin(ty) is Annotated else (None if ty is type(None) else ty)
|
||||
|
||||
_pending_records = []
|
||||
def _IOW(base, nr, typ): return functools.partial(_do_ioctl, 1, ord(base) if isinstance(base, str) else base, nr, typ)
|
||||
def _IOR(base, nr, typ): return functools.partial(_do_ioctl, 2, ord(base) if isinstance(base, str) else base, nr, typ)
|
||||
def _IOWR(base, nr, typ): return functools.partial(_do_ioctl, 3, ord(base) if isinstance(base, str) else base, nr, typ)
|
||||
|
||||
T = TypeVar("T")
|
||||
U = TypeVar("U")
|
||||
V = TypeVar("V")
|
||||
P = ParamSpec("P")
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from ctypes import _CFunctionType
|
||||
from _ctypes import _CData
|
||||
class Array(Generic[T, U], _CData):
|
||||
@overload
|
||||
def __getitem__(self: Array[ctypes._SimpleCData[V], Any], key: int) -> V: ...
|
||||
@overload
|
||||
def __getitem__(self: Array[T, Any], key: slice) -> list[T]: ...
|
||||
@overload
|
||||
def __getitem__(self: Array[T, Any], key: int) -> T: ...
|
||||
def __getitem__(self, key) -> Any: ...
|
||||
@overload
|
||||
def __setitem__(self: Array[ctypes._SimpleCData[V], Any], key: int, val: V): ...
|
||||
@overload
|
||||
def __setitem__(self: Array[T, Any], key: int, val: T): ...
|
||||
@overload
|
||||
def __setitem__(self: Array[T, Any], key: slice, val: Iterable[T]): ...
|
||||
def __setitem__(self, key, val): ...
|
||||
class POINTER(Generic[T], ctypes._Pointer): ...
|
||||
class CFUNCTYPE(Generic[T, P], _CFunctionType): ...
|
||||
class Enum(ctypes._SimpleCData):
|
||||
@classmethod
|
||||
def get(cls, val:int, default="unknown") -> str: ...
|
||||
@classmethod
|
||||
def items(cls) -> Iterable[tuple[int,str]]: ...
|
||||
@classmethod
|
||||
def define(cls, name:str, val:int) -> int: ...
|
||||
CT = TypeVar("CT", bound=_CData)
|
||||
def pointer(obj: CT) -> POINTER[CT]: ...
|
||||
else:
|
||||
class _Array:
|
||||
def __getitem__(self, key): return del_an(key[0]) * get_args(key[1])[0]
|
||||
def __call__(self, ty, l): return del_an(ty) * l
|
||||
Array = _Array()
|
||||
class POINTER:
|
||||
def __class_getitem__(cls, key): return ctypes.POINTER(del_an(key))
|
||||
class CFUNCTYPE:
|
||||
def __class_getitem__(cls, key): return ctypes.CFUNCTYPE(del_an(key[0]), *(del_an(a) for a in key[1]))
|
||||
class Enum:
|
||||
def __init_subclass__(cls): cls._val_to_name_ = {}
|
||||
# mypy can't understand eg. ctypes.POINTER(ctypes.c_int), and python < 3.14 cannot understand ctypes.POINTER[ctypes.c_int]
|
||||
class POINTER(Generic[T], ctypes._Pointer):
|
||||
def __class_getitem__(cls, key): return ctypes.POINTER(key)
|
||||
def pointer(x: T) -> POINTER[T]: return ctypes.pointer(x) # type: ignore
|
||||
|
||||
@classmethod
|
||||
def get(cls, val, default="unknown"): return cls._val_to_name_.get(val, default)
|
||||
@classmethod
|
||||
def items(cls): return cls._val_to_name_.items()
|
||||
@classmethod
|
||||
def define(cls, name:str, val:int) -> int:
|
||||
cls._val_to_name_[val] = name
|
||||
return val
|
||||
def pointer(obj): return ctypes.pointer(obj)
|
||||
if TYPE_CHECKING: _CFuncPtr = ctypes._CFunctionType
|
||||
else: _CFuncPtr = ctypes._CFuncPtr
|
||||
|
||||
class CFUNCTYPE(Generic[T, P], _CFuncPtr):
|
||||
_flags_ = 0
|
||||
def __class_getitem__(cls, key): return ctypes.CFUNCTYPE(key[0], *key[1])
|
||||
class Array(Generic[T, U], ctypes.Array):
|
||||
_type_, _length_ = ctypes.c_byte, 0
|
||||
def __class_getitem__(cls, key): return key[0] * get_args(key[1])[0]
|
||||
def __new__(cls, ty, l): return ty * l
|
||||
|
||||
class Struct(ctypes.Structure):
|
||||
SIZE = 0
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
ctypes.Structure.__init__(self)
|
||||
for f,v in [*zip((rf[0] for rf in self._real_fields_), args), *kwargs.items()]: setattr(self, f, v)
|
||||
|
||||
def record(cls) -> type[Struct]:
|
||||
struct = type(cls.__name__, (Struct,), {'_fields_': [('_mem_', ctypes.c_byte * cls.SIZE)]})
|
||||
_pending_records.append((cls, struct, unwrap(sys._getframe().f_back).f_globals))
|
||||
return struct
|
||||
@classmethod
|
||||
def register_fields(cls, fields):
|
||||
setattr(cls, "_real_fields_", fields)
|
||||
for i, (name, *args) in enumerate(fields): setattr(cls, name, Field(*args, name=name, idx=i))
|
||||
|
||||
def init_records() -> None:
|
||||
for cls, struct, ns in _pending_records:
|
||||
setattr(struct, '_real_fields_', [])
|
||||
for i, (nm, t) in enumerate(get_type_hints(cls, globalns=ns, include_extras=True).items()):
|
||||
struct._real_fields_.append((nm, *(f:=(del_an(t.__origin__), *t.__metadata__) if isinstance(t.__metadata__[0], int) else t.__metadata__))) # type: ignore
|
||||
setattr(struct, nm, Field(nm, i, *f))
|
||||
_pending_records.clear()
|
||||
def record(cls) -> type[Struct]:
|
||||
setattr(cls, "_fields_", [('_mem_', ctypes.c_byte * cls.SIZE)])
|
||||
return cls
|
||||
|
||||
class Field:
|
||||
def __init__(self, nm, idx, typ, off, bit_width=None, bit_off=0):
|
||||
self.nm, self.idx, self.typ, self.off, self.bit_width, self.bit_off = nm, idx, typ, off, bit_width, bit_off
|
||||
def __init__(self, typ, off, bit_width=None, bit_off=0, *, name=None, idx=0):
|
||||
self.typ, self.off, self.bit_width, self.bit_off, self.name, self.idx = typ, off, bit_width, bit_off, name, idx
|
||||
|
||||
def __set_name__(self, owner, name):
|
||||
entry = (name, self.typ, self.off) + ((self.bit_width, self.bit_off) if self.bit_width else ())
|
||||
if hasattr(owner, "_real_fields_"): owner._real_fields_.append(entry)
|
||||
else: setattr(owner, "_real_fields_", [entry])
|
||||
self.name, self.idx = name, len(owner._real_fields_) - 1
|
||||
|
||||
# lazily resolve field descriptors
|
||||
def _resolve(self, cls):
|
||||
|
|
@ -110,9 +72,9 @@ class Field:
|
|||
# FIXME: signedness
|
||||
cf = property(lambda obj: b2i(obj) >> self.bit_off & mask, bset)
|
||||
# pull the CField descriptor from a dummy class, zero length arrays are so ctypes manages references to child objects for us
|
||||
else: cf = type(self.nm, (ctypes.Structure,), {"_layout_": "ms", "_pack_": 1, "_fields_": [(str(i), ctypes.c_byte * 0) for i in range(self.idx)] +
|
||||
[("_", ctypes.c_byte * self.off), ("v", self.typ)]}).v # type: ignore
|
||||
setattr(cls, self.nm, cf)
|
||||
else: cf = type(self.name, (ctypes.Structure,), {"_layout_": "ms", "_pack_": 1, "_fields_": [(str(i), ctypes.c_byte*0) for i in range(self.idx)] +
|
||||
[("_", ctypes.c_byte * self.off), ("v", self.typ)]}).v # type: ignore
|
||||
setattr(cls, self.name, cf)
|
||||
return cf
|
||||
|
||||
def __get__(self, obj, objtype=None): return self._resolve(objtype).__get__(obj, objtype) if objtype else self
|
||||
|
|
@ -120,12 +82,9 @@ class Field:
|
|||
|
||||
@functools.cache
|
||||
def init_c_struct_t(sz:int, fields: tuple[tuple, ...]):
|
||||
CStruct = type("CStruct", (Struct,), {'_fields_': [('_mem_', ctypes.c_byte * sz)], '_real_fields_': []})
|
||||
for i,(nm,ty,*args) in enumerate(fields):
|
||||
CStruct._real_fields_.append((nm, *(f:=(del_an(ty), *args)))) # type: ignore
|
||||
setattr(CStruct, nm, Field(nm, i, *f))
|
||||
(CStruct:=type("CStruct", (Struct,), {'_fields_': [('_mem_', ctypes.c_byte * sz)]})).register_fields(fields) # type: ignore
|
||||
return CStruct
|
||||
def init_c_var(ty, creat_cb): return (creat_cb(v:=del_an(ty)()), v)[1]
|
||||
def init_c_var(ty, creat_cb): return (creat_cb(v:=ty()), v)[1]
|
||||
|
||||
class DLL(ctypes.CDLL):
|
||||
_loaded_: set[str] = set()
|
||||
|
|
@ -164,14 +123,15 @@ class DLL(ctypes.CDLL):
|
|||
if DEBUG >= 3: print(f"loading {nm} failed: {e}")
|
||||
elif DEBUG >= 3: print(f"loading {nm} failed: not found on system")
|
||||
|
||||
def bind(self, fn):
|
||||
restype, argtypes = del_an((hints:=get_type_hints(fn, include_extras=True)).pop('return', None)), tuple(del_an(h) for h in hints.values())
|
||||
cfunc = None
|
||||
def wrapper(*args):
|
||||
nonlocal cfunc
|
||||
if cfunc is None: (cfunc:=getattr(self, fn.__name__)).argtypes, cfunc.restype = argtypes, restype
|
||||
return cfunc(*args)
|
||||
return wrapper
|
||||
def bind(self, restype, *argtypes):
|
||||
def wrap(fn):
|
||||
cfunc = None
|
||||
def wrapper(*args):
|
||||
nonlocal cfunc
|
||||
if cfunc is None: (cfunc:=getattr(self, fn.__name__)).argtypes, cfunc.restype = argtypes, restype
|
||||
return cfunc(*args)
|
||||
return wrapper
|
||||
return wrap
|
||||
|
||||
def __getattr__(self, nm):
|
||||
if self.nm not in self._loaded_:
|
||||
|
|
|
|||
|
|
@ -40,9 +40,8 @@ def _get_comgr_data(data_set, data_type):
|
|||
# amd_comgr_action_info_set_options was deprecated
|
||||
def set_options(action_info, options:bytes):
|
||||
# TODO: this type should be correct in the autogen stub
|
||||
@comgr.dll.bind
|
||||
def amd_comgr_action_info_set_option_list(ai:comgr.amd_comgr_action_info_t, o:c.POINTER[c.POINTER[ctypes.c_char]], # type: ignore
|
||||
c:comgr.size_t) -> comgr.amd_comgr_status_t: pass
|
||||
@comgr.dll.bind(comgr.amd_comgr_status_t, comgr.amd_comgr_action_info_t, c.POINTER[c.POINTER[ctypes.c_char]], comgr.size_t)
|
||||
def amd_comgr_action_info_set_option_list(ai, o, c) -> comgr.amd_comgr_status_t: pass # type: ignore[empty-body]
|
||||
return amd_comgr_action_info_set_option_list(action_info, to_char_p_p(options_list:=options.split(b' ')), len(options_list))
|
||||
|
||||
# AMD_COMGR_SAVE_TEMPS=1 AMD_COMGR_REDIRECT_LOGS=stdout AMD_COMGR_EMIT_VERBOSE_LOGS=1
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
import ctypes, ctypes.util, functools, sys
|
||||
from tinygrad.runtime.support.c import del_an
|
||||
from typing import TYPE_CHECKING, Any
|
||||
|
||||
if TYPE_CHECKING: id_ = ctypes.c_void_p
|
||||
|
|
@ -30,7 +29,7 @@ dispatch_data_create = returns_retained(dispatch_data_create)
|
|||
|
||||
def msg(sel:str, restype=id_, argtypes=[], retain=False, clsmeth=False):
|
||||
# Using attribute access returns a new reference so setting restype is safe
|
||||
(sender:=lib["objc_msgSend"]).restype, sender.argtypes = del_an(restype), [id_, id_]+[del_an(a) for a in argtypes] if argtypes else []
|
||||
(sender:=lib["objc_msgSend"]).restype, sender.argtypes = restype, [id_, id_]+list(argtypes) if argtypes else []
|
||||
def f(ptr, *args): return sender(ptr._objc_class_ if clsmeth else ptr, getsel(sel.encode()), *args)
|
||||
return returns_retained(f) if retain else f
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue