from ctypes import c_uint, c_int, Structure class D3D_FEATURE_LEVEL(c_uint): D3D_FEATURE_LEVEL_1_0_CORE = 0x1000 D3D_FEATURE_LEVEL_9_1 = 0x9100 D3D_FEATURE_LEVEL_9_2 = 0x9200 D3D_FEATURE_LEVEL_9_3 = 0x9300 D3D_FEATURE_LEVEL_10_0 = 0xa000 D3D_FEATURE_LEVEL_10_1 = 0xa100 D3D_FEATURE_LEVEL_11_0 = 0xb000 D3D_FEATURE_LEVEL_11_1 = 0xb100 D3D_FEATURE_LEVEL_12_0 = 0xc000 D3D_FEATURE_LEVEL_12_1 = 0xc100 class D3D12_COMMAND_LIST_TYPE(c_uint): D3D12_COMMAND_LIST_TYPE_DIRECT = 0 D3D12_COMMAND_LIST_TYPE_BUNDLE = 1 D3D12_COMMAND_LIST_TYPE_COMPUTE = 2 D3D12_COMMAND_LIST_TYPE_COPY = 3 D3D12_COMMAND_LIST_TYPE_VIDEO_DECODE = 4 D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5 D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6 class D3D12_COMMAND_QUEUE_FLAGS(c_uint): D3D12_COMMAND_QUEUE_FLAG_NONE = 0 D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1 class D3D12_COMMAND_QUEUE_DESC(Structure): _fields_ = [('Type', D3D12_COMMAND_LIST_TYPE), ('Priority', c_int), ('Flags', D3D12_COMMAND_QUEUE_FLAGS), ('NodeMask', c_uint), ] def __init__(self): self.Type : D3D12_COMMAND_LIST_TYPE = D3D12_COMMAND_LIST_TYPE() self.Priority : c_int = c_int() self.Flags : D3D12_COMMAND_QUEUE_FLAGS = D3D12_COMMAND_QUEUE_FLAGS() self.NodeMask : c_uint = c_uint()