mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
Merge branch 'master' into allocator-mode-alloc-non-zeroed
This commit is contained in:
+3
-3
@@ -11,7 +11,7 @@ ActivationPolicy :: enum UInteger {
|
||||
ApplicationDelegate :: struct {
|
||||
willFinishLaunching: proc "c" (self: ^ApplicationDelegate, notification: ^Notification),
|
||||
didFinishLaunching: proc "c" (self: ^ApplicationDelegate, notification: ^Notification),
|
||||
shouldTerminateAfterLastWindowClosed: proc "c" (self: ^ApplicationDelegate, sender: ^Application),
|
||||
shouldTerminateAfterLastWindowClosed: proc "c" (self: ^ApplicationDelegate, sender: ^Application) -> BOOL,
|
||||
|
||||
user_data: rawptr,
|
||||
}
|
||||
@@ -34,9 +34,9 @@ Application_setDelegate :: proc(self: ^Application, delegate: ^ApplicationDelega
|
||||
del := (^ApplicationDelegate)(self->pointerValue())
|
||||
del->didFinishLaunching(notification)
|
||||
}
|
||||
shouldTerminateAfterLastWindowClosed :: proc "c" (self: ^Value, _: SEL, application: ^Application) {
|
||||
shouldTerminateAfterLastWindowClosed :: proc "c" (self: ^Value, _: SEL, application: ^Application) -> BOOL {
|
||||
del := (^ApplicationDelegate)(self->pointerValue())
|
||||
del->shouldTerminateAfterLastWindowClosed(application)
|
||||
return del->shouldTerminateAfterLastWindowClosed(application)
|
||||
}
|
||||
|
||||
wrapper := Value.valueWithPointer(delegate)
|
||||
|
||||
+16
@@ -156,6 +156,22 @@ Window_makeKeyAndOrderFront :: proc(self: ^Window, key: ^NS.Object) {
|
||||
Window_setTitle :: proc(self: ^Window, title: ^NS.String) {
|
||||
msgSend(nil, self, "setTitle:", title)
|
||||
}
|
||||
@(objc_type=Window, objc_name="setTitlebarAppearsTransparent")
|
||||
Window_setTitlebarAppearsTransparent :: proc(self: ^Window, ok: NS.BOOL) {
|
||||
msgSend(nil, self, "setTitlebarAppearsTransparent:", ok)
|
||||
}
|
||||
@(objc_type=Window, objc_name="setMovable")
|
||||
Window_setMovable :: proc(self: ^Window, ok: NS.BOOL) {
|
||||
msgSend(nil, self, "setMovable:", ok)
|
||||
}
|
||||
@(objc_type=Window, objc_name="setMovableByWindowBackground")
|
||||
Window_setMovableByWindowBackground :: proc(self: ^Window, ok: NS.BOOL) {
|
||||
msgSend(nil, self, "setMovableByWindowBackground:", ok)
|
||||
}
|
||||
@(objc_type=Window, objc_name="setStyleMask")
|
||||
Window_setStyleMask :: proc(self: ^Window, style_mask: WindowStyleMask) {
|
||||
msgSend(nil, self, "setStyleMask:", style_mask)
|
||||
}
|
||||
@(objc_type=Window, objc_name="close")
|
||||
Window_close :: proc(self: ^Window) {
|
||||
msgSend(nil, self, "close")
|
||||
|
||||
Vendored
+5
-1
@@ -10,9 +10,13 @@ IMP :: proc "c" (object: id, sel: SEL, #c_vararg args: ..any) -> id
|
||||
foreign Foundation {
|
||||
objc_lookUpClass :: proc "c" (name: cstring) -> Class ---
|
||||
sel_registerName :: proc "c" (name: cstring) -> SEL ---
|
||||
objc_allocateClassPair :: proc "c" (superclass: Class, name: cstring, extraBytes: uint) ---
|
||||
objc_allocateClassPair :: proc "c" (superclass : Class, name : cstring, extraBytes : c.size_t) -> Class ---
|
||||
objc_registerClassPair :: proc "c" (cls : Class) ---
|
||||
|
||||
class_addMethod :: proc "c" (cls: Class, name: SEL, imp: IMP, types: cstring) -> BOOL ---
|
||||
class_getInstanceMethod :: proc "c" (cls: Class, name: SEL) -> Method ---
|
||||
|
||||
method_setImplementation :: proc "c" (method: Method, imp: IMP) ---
|
||||
}
|
||||
|
||||
|
||||
|
||||
Vendored
+184
-143
@@ -30,7 +30,7 @@ foreign d3d11 {
|
||||
DriverType: DRIVER_TYPE,
|
||||
Software: HMODULE,
|
||||
Flags: CREATE_DEVICE_FLAGS,
|
||||
pFeatureLevels: ^FEATURE_LEVEL,
|
||||
pFeatureLevels: [^]FEATURE_LEVEL,
|
||||
FeatureLevels: u32,
|
||||
SDKVersion: u32,
|
||||
ppDevice: ^^IDevice,
|
||||
@@ -41,8 +41,8 @@ foreign d3d11 {
|
||||
pAdapter: ^dxgi.IAdapter,
|
||||
DriverType: DRIVER_TYPE,
|
||||
Software: HMODULE,
|
||||
Flags: u32,
|
||||
pFeatureLevels: ^FEATURE_LEVEL,
|
||||
Flags: CREATE_DEVICE_FLAGS,
|
||||
pFeatureLevels: [^]FEATURE_LEVEL,
|
||||
FeatureLevels: u32,
|
||||
SDKVersion: u32,
|
||||
pSwapChainDesc: ^dxgi.SWAP_CHAIN_DESC,
|
||||
@@ -539,25 +539,37 @@ ANISOTROPIC_FILTERING_BIT :: 0x40
|
||||
SDK_VERSION :: 7
|
||||
RETURN_PARAMETER_INDEX :: -1
|
||||
|
||||
COMPONENT_MASK :: enum u32 { // TODO: make bit_set
|
||||
COMPONENT_MASK :: distinct bit_set[COMPONENT_MASK_ELEMENT; u32]
|
||||
COMPONENT_MASK_ELEMENT :: enum u32 {
|
||||
X = 1,
|
||||
Y = 2,
|
||||
Z = 4,
|
||||
W = 8,
|
||||
}
|
||||
|
||||
SHADER_REQUIRES :: enum u32 { // TODO: make bit_set
|
||||
DOUBLES = 0x00000001,
|
||||
EARLY_DEPTH_STENCIL = 0x00000002,
|
||||
UAVS_AT_EVERY_STAGE = 0x00000004,
|
||||
_64_UAVS = 0x00000008,
|
||||
MINIMUM_PRECISION = 0x00000010,
|
||||
_11_1_DOUBLE_EXTENSIONS = 0x00000020,
|
||||
_11_1_SHADER_EXTENSIONS = 0x00000040,
|
||||
LEVEL_9_COMPARISON_FILTERING = 0x00000080,
|
||||
TILED_RESOURCES = 0x00000100,
|
||||
SHADER_REQUIRES_FLAGS :: distinct bit_set[SHADER_REQUIRES_FLAG; u64]
|
||||
SHADER_REQUIRES_FLAG :: enum u64 {
|
||||
DOUBLES = 0,
|
||||
EARLY_DEPTH_STENCIL = 1,
|
||||
UAVS_AT_EVERY_STAGE = 2,
|
||||
_64_UAVS = 3,
|
||||
MINIMUM_PRECISION = 4,
|
||||
_11_1_DOUBLE_EXTENSIONS = 5,
|
||||
_11_1_SHADER_EXTENSIONS = 6,
|
||||
LEVEL_9_COMPARISON_FILTERING = 7,
|
||||
TILED_RESOURCES = 8,
|
||||
}
|
||||
|
||||
SHADER_REQUIRES_DOUBLES :: SHADER_REQUIRES_FLAGS{.DOUBLES}
|
||||
SHADER_REQUIRES_EARLY_DEPTH_STENCIL :: SHADER_REQUIRES_FLAGS{.EARLY_DEPTH_STENCIL}
|
||||
SHADER_REQUIRES_UAVS_AT_EVERY_STAGE :: SHADER_REQUIRES_FLAGS{.UAVS_AT_EVERY_STAGE}
|
||||
SHADER_REQUIRES_64_UAVS :: SHADER_REQUIRES_FLAGS{._64_UAVS}
|
||||
SHADER_REQUIRES_MINIMUM_PRECISION :: SHADER_REQUIRES_FLAGS{.MINIMUM_PRECISION}
|
||||
SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS :: SHADER_REQUIRES_FLAGS{._11_1_DOUBLE_EXTENSIONS}
|
||||
SHADER_REQUIRES_11_1_SHADER_EXTENSIONS :: SHADER_REQUIRES_FLAGS{._11_1_SHADER_EXTENSIONS}
|
||||
SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING :: SHADER_REQUIRES_FLAGS{.LEVEL_9_COMPARISON_FILTERING}
|
||||
SHADER_REQUIRES_TILED_RESOURCES :: SHADER_REQUIRES_FLAGS{.TILED_RESOURCES}
|
||||
|
||||
DRIVER_TYPE :: enum i32 {
|
||||
UNKNOWN = 0,
|
||||
HARDWARE = 1,
|
||||
@@ -708,11 +720,12 @@ SHADER_VARIABLE_CLASS :: enum i32 {
|
||||
INTERFACE_POINTER = 7,
|
||||
}
|
||||
|
||||
SHADER_VARIABLE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
USERPACKED = 0x1,
|
||||
USED = 0x2,
|
||||
INTERFACE_POINTER = 0x4,
|
||||
INTERFACE_PARAMETER = 0x8,
|
||||
SHADER_VARIABLE_FLAGS :: distinct bit_set[SHADER_VARIABLE_FLAG; u32]
|
||||
SHADER_VARIABLE_FLAG :: enum u32 {
|
||||
USERPACKED = 0,
|
||||
USED = 1,
|
||||
INTERFACE_POINTER = 2,
|
||||
INTERFACE_PARAMETER = 3,
|
||||
}
|
||||
|
||||
SHADER_VARIABLE_TYPE :: enum i32 {
|
||||
@@ -776,14 +789,21 @@ SHADER_VARIABLE_TYPE :: enum i32 {
|
||||
MIN16UINT = 57,
|
||||
}
|
||||
|
||||
SHADER_INPUT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
USERPACKED = 0x1,
|
||||
COMPARISON_SAMPLER = 0x2,
|
||||
TEXTURE_COMPONENT_0 = 0x4,
|
||||
TEXTURE_COMPONENT_1 = 0x8,
|
||||
SHADER_INPUT_FLAGS :: distinct bit_set[SHADER_INPUT_FLAG; u32]
|
||||
SHADER_INPUT_FLAG :: enum u32 {
|
||||
USERPACKED = 0,
|
||||
COMPARISON_SAMPLER = 1,
|
||||
TEXTURE_COMPONENT_0 = 2,
|
||||
TEXTURE_COMPONENT_1 = 3,
|
||||
TEXTURE_COMPONENTS = 0xc,
|
||||
UNUSED = 0x10,
|
||||
UNUSED = 4,
|
||||
}
|
||||
SHADER_INPUT_FLAG_USERPACKED :: SHADER_INPUT_FLAGS{.USERPACKED}
|
||||
SHADER_INPUT_FLAG_COMPARISON_SAMPLER :: SHADER_INPUT_FLAGS{.COMPARISON_SAMPLER}
|
||||
SHADER_INPUT_FLAG_TEXTURE_COMPONENT_0 :: SHADER_INPUT_FLAGS{.TEXTURE_COMPONENT_0}
|
||||
SHADER_INPUT_FLAG_TEXTURE_COMPONENT_1 :: SHADER_INPUT_FLAGS{.TEXTURE_COMPONENT_1}
|
||||
SHADER_INPUT_FLAG_TEXTURE_COMPONENTS :: SHADER_INPUT_FLAGS{.TEXTURE_COMPONENT_0, .TEXTURE_COMPONENT_1}
|
||||
SHADER_INPUT_FLAG_UNUSED :: SHADER_INPUT_FLAGS{.UNUSED}
|
||||
|
||||
SHADER_INPUT_TYPE :: enum i32 {
|
||||
CBUFFER = 0,
|
||||
@@ -802,8 +822,9 @@ SHADER_INPUT_TYPE :: enum i32 {
|
||||
UAV_FEEDBACKTEXTURE = 13,
|
||||
}
|
||||
|
||||
SHADER_CBUFFER_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
USERPACKED = 0x1,
|
||||
SHADER_CBUFFER_FLAGS :: distinct bit_set[SHADER_CBUFFER_FLAG; u32]
|
||||
SHADER_CBUFFER_FLAG :: enum u32 {
|
||||
USERPACKED = 0,
|
||||
}
|
||||
|
||||
CBUFFER_TYPE :: enum i32 {
|
||||
@@ -906,10 +927,10 @@ INTERPOLATION_MODE :: enum i32 {
|
||||
LINEAR_NOPERSPECTIVE_SAMPLE = 7,
|
||||
}
|
||||
|
||||
PARAMETER_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
IN = 0x1,
|
||||
OUT = 0x2,
|
||||
PARAMETER_FLAGS :: distinct bit_set[PARAMETER_FLAG; u32]
|
||||
PARAMETER_FLAG :: enum u32 {
|
||||
IN = 0,
|
||||
OUT = 1,
|
||||
}
|
||||
|
||||
CDEFAULT :: struct {
|
||||
@@ -1022,43 +1043,46 @@ USAGE :: enum i32 {
|
||||
STAGING = 3,
|
||||
}
|
||||
|
||||
BIND_FLAG :: enum u32 { // TODO: make bit_set
|
||||
VERTEX_BUFFER = 0x1,
|
||||
INDEX_BUFFER = 0x2,
|
||||
CONSTANT_BUFFER = 0x4,
|
||||
SHADER_RESOURCE = 0x8,
|
||||
STREAM_OUTPUT = 0x10,
|
||||
RENDER_TARGET = 0x20,
|
||||
DEPTH_STENCIL = 0x40,
|
||||
UNORDERED_ACCESS = 0x80,
|
||||
DECODER = 0x200,
|
||||
VIDEO_ENCODER = 0x400,
|
||||
BIND_FLAGS :: distinct bit_set[BIND_FLAG; u32]
|
||||
BIND_FLAG :: enum u32 {
|
||||
VERTEX_BUFFER = 0,
|
||||
INDEX_BUFFER = 1,
|
||||
CONSTANT_BUFFER = 2,
|
||||
SHADER_RESOURCE = 3,
|
||||
STREAM_OUTPUT = 4,
|
||||
RENDER_TARGET = 5,
|
||||
DEPTH_STENCIL = 6,
|
||||
UNORDERED_ACCESS = 7,
|
||||
DECODER = 9,
|
||||
VIDEO_ENCODER = 10,
|
||||
}
|
||||
|
||||
CPU_ACCESS_FLAG :: enum u32 { // TODO: make bit_set
|
||||
WRITE = 0x10000,
|
||||
READ = 0x20000,
|
||||
CPU_ACCESS_FLAGS :: distinct bit_set[CPU_ACCESS_FLAG; u32]
|
||||
CPU_ACCESS_FLAG :: enum u32 {
|
||||
WRITE = 16,
|
||||
READ = 17,
|
||||
|
||||
}
|
||||
|
||||
RESOURCE_MISC_FLAG :: enum u32 { // TODO: make bit_set
|
||||
GENERATE_MIPS = 0x1,
|
||||
SHARED = 0x2,
|
||||
TEXTURECUBE = 0x4,
|
||||
DRAWINDIRECT_ARGS = 0x10,
|
||||
BUFFER_ALLOW_RAW_VIEWS = 0x20,
|
||||
BUFFER_STRUCTURED = 0x40,
|
||||
RESOURCE_CLAMP = 0x80,
|
||||
SHARED_KEYEDMUTEX = 0x100,
|
||||
GDI_COMPATIBLE = 0x200,
|
||||
SHARED_NTHANDLE = 0x800,
|
||||
RESTRICTED_CONTENT = 0x1000,
|
||||
RESTRICT_SHARED_RESOURCE = 0x2000,
|
||||
RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000,
|
||||
GUARDED = 0x8000,
|
||||
TILE_POOL = 0x20000,
|
||||
TILED = 0x40000,
|
||||
HW_PROTECTED = 0x80000,
|
||||
RESOURCE_MISC_FLAGS :: distinct bit_set[RESOURCE_MISC_FLAG; u32]
|
||||
RESOURCE_MISC_FLAG :: enum u32 {
|
||||
GENERATE_MIPS = 0,
|
||||
SHARED = 1,
|
||||
TEXTURECUBE = 2,
|
||||
DRAWINDIRECT_ARGS = 4,
|
||||
BUFFER_ALLOW_RAW_VIEWS = 5,
|
||||
BUFFER_STRUCTURED = 6,
|
||||
RESOURCE_CLAMP = 7,
|
||||
SHARED_KEYEDMUTEX = 8,
|
||||
GDI_COMPATIBLE = 9,
|
||||
SHARED_NTHANDLE = 11,
|
||||
RESTRICTED_CONTENT = 12,
|
||||
RESTRICT_SHARED_RESOURCE = 13,
|
||||
RESTRICT_SHARED_RESOURCE_DRIVER = 14,
|
||||
GUARDED = 15,
|
||||
TILE_POOL = 17,
|
||||
TILED = 18,
|
||||
HW_PROTECTED = 19,
|
||||
}
|
||||
|
||||
MAP :: enum i32 {
|
||||
@@ -1069,17 +1093,20 @@ MAP :: enum i32 {
|
||||
WRITE_NO_OVERWRITE = 5,
|
||||
}
|
||||
|
||||
MAP_FLAG :: enum u32 { // TODO: make bit_set
|
||||
DO_NOT_WAIT = 0x100000,
|
||||
MAP_FLAGS :: distinct bit_set[MAP_FLAG; u32]
|
||||
MAP_FLAG :: enum u32 {
|
||||
DO_NOT_WAIT = 20,
|
||||
}
|
||||
|
||||
RAISE_FLAG :: enum u32 { // TODO: make bit_set
|
||||
DRIVER_INTERNAL_ERROR = 0x1,
|
||||
RAISE_FLAGS :: distinct bit_set[RAISE_FLAG; u32]
|
||||
RAISE_FLAG :: enum u32 {
|
||||
DRIVER_INTERNAL_ERROR = 0,
|
||||
}
|
||||
|
||||
CLEAR_FLAG :: enum u32 { // TODO: make bit_set
|
||||
DEPTH = 0x1,
|
||||
STENCIL = 0x2,
|
||||
CLEAR_FLAGS :: distinct bit_set[CLEAR_FLAG; u32]
|
||||
CLEAR_FLAG :: enum u32 {
|
||||
DEPTH = 0,
|
||||
STENCIL = 1,
|
||||
}
|
||||
|
||||
|
||||
@@ -1206,12 +1233,19 @@ BLEND_OP :: enum i32 {
|
||||
MAX = 5,
|
||||
}
|
||||
|
||||
COLOR_WRITE_ENABLE :: enum i32 { // TODO: make bit_set
|
||||
RED = 1,
|
||||
GREEN = 2,
|
||||
BLUE = 4,
|
||||
ALPHA = 8,
|
||||
ALL = 15,
|
||||
COLOR_WRITE_ENABLE_MASK :: distinct bit_set[COLOR_WRITE_ENABLE; u32]
|
||||
|
||||
COLOR_WRITE_ENABLE_RED :: COLOR_WRITE_ENABLE_MASK{.RED}
|
||||
COLOR_WRITE_ENABLE_GREEN :: COLOR_WRITE_ENABLE_MASK{.GREEN}
|
||||
COLOR_WRITE_ENABLE_BLUE :: COLOR_WRITE_ENABLE_MASK{.BLUE}
|
||||
COLOR_WRITE_ENABLE_ALPHA :: COLOR_WRITE_ENABLE_MASK{.ALPHA}
|
||||
COLOR_WRITE_ENABLE_ALL :: COLOR_WRITE_ENABLE_MASK{.RED, .GREEN, .BLUE, .ALPHA}
|
||||
|
||||
COLOR_WRITE_ENABLE :: enum i32 {
|
||||
RED = 0,
|
||||
GREEN = 1,
|
||||
BLUE = 2,
|
||||
ALPHA = 3,
|
||||
}
|
||||
|
||||
RENDER_TARGET_BLEND_DESC :: struct {
|
||||
@@ -1308,9 +1342,9 @@ IResource_VTable :: struct {
|
||||
BUFFER_DESC :: struct {
|
||||
ByteWidth: u32,
|
||||
Usage: USAGE,
|
||||
BindFlags: BIND_FLAG,
|
||||
CPUAccessFlags: CPU_ACCESS_FLAG,
|
||||
MiscFlags: RESOURCE_MISC_FLAG,
|
||||
BindFlags: BIND_FLAGS,
|
||||
CPUAccessFlags: CPU_ACCESS_FLAGS,
|
||||
MiscFlags: RESOURCE_MISC_FLAGS,
|
||||
StructureByteStride: u32,
|
||||
}
|
||||
|
||||
@@ -1337,9 +1371,9 @@ TEXTURE1D_DESC :: struct {
|
||||
ArraySize: u32,
|
||||
Format: dxgi.FORMAT,
|
||||
Usage: USAGE,
|
||||
BindFlags: BIND_FLAG,
|
||||
CPUAccessFlags: CPU_ACCESS_FLAG,
|
||||
MiscFlags: RESOURCE_MISC_FLAG,
|
||||
BindFlags: BIND_FLAGS,
|
||||
CPUAccessFlags: CPU_ACCESS_FLAGS,
|
||||
MiscFlags: RESOURCE_MISC_FLAGS,
|
||||
}
|
||||
|
||||
CTEXTURE1D_DESC :: struct {
|
||||
@@ -1367,9 +1401,9 @@ TEXTURE2D_DESC :: struct {
|
||||
Format: dxgi.FORMAT,
|
||||
SampleDesc: dxgi.SAMPLE_DESC,
|
||||
Usage: USAGE,
|
||||
BindFlags: BIND_FLAG,
|
||||
CPUAccessFlags: CPU_ACCESS_FLAG,
|
||||
MiscFlags: RESOURCE_MISC_FLAG,
|
||||
BindFlags: BIND_FLAGS,
|
||||
CPUAccessFlags: CPU_ACCESS_FLAGS,
|
||||
MiscFlags: RESOURCE_MISC_FLAGS,
|
||||
}
|
||||
|
||||
CTEXTURE2D_DESC :: struct {
|
||||
@@ -1396,9 +1430,9 @@ TEXTURE3D_DESC :: struct {
|
||||
MipLevels: u32,
|
||||
Format: dxgi.FORMAT,
|
||||
Usage: USAGE,
|
||||
BindFlags: BIND_FLAG,
|
||||
CPUAccessFlags: CPU_ACCESS_FLAG,
|
||||
MiscFlags: RESOURCE_MISC_FLAG,
|
||||
BindFlags: BIND_FLAGS,
|
||||
CPUAccessFlags: CPU_ACCESS_FLAGS,
|
||||
MiscFlags: RESOURCE_MISC_FLAGS,
|
||||
}
|
||||
|
||||
CTEXTURE3D_DESC :: struct {
|
||||
@@ -1451,14 +1485,15 @@ BUFFER_SRV :: struct {
|
||||
},
|
||||
}
|
||||
|
||||
BUFFEREX_SRV_FLAG :: enum u32 { // TODO: make bit_set
|
||||
RAW = 0x1,
|
||||
BUFFEREX_SRV_FLAGS :: distinct bit_set[BUFFEREX_SRV_FLAG; u32]
|
||||
BUFFEREX_SRV_FLAG :: enum u32 {
|
||||
RAW = 0,
|
||||
}
|
||||
|
||||
BUFFEREX_SRV :: struct {
|
||||
FirstElement: u32,
|
||||
NumElements: u32,
|
||||
Flags: u32,
|
||||
Flags: BUFFEREX_SRV_FLAGS,
|
||||
}
|
||||
|
||||
TEX1D_SRV :: struct {
|
||||
@@ -1657,15 +1692,16 @@ TEX2DMS_ARRAY_DSV :: struct {
|
||||
ArraySize: u32,
|
||||
}
|
||||
|
||||
DSV_FLAG :: enum u32 { // TODO: make bit_set
|
||||
DEPTH = 0x1,
|
||||
STENCIL = 0x2,
|
||||
DSV_FLAGS :: distinct bit_set[DSV_FLAG; u32]
|
||||
DSV_FLAG :: enum u32 {
|
||||
DEPTH = 0,
|
||||
STENCIL = 1,
|
||||
}
|
||||
|
||||
DEPTH_STENCIL_VIEW_DESC :: struct {
|
||||
Format: dxgi.FORMAT,
|
||||
ViewDimension: DSV_DIMENSION,
|
||||
Flags: u32,
|
||||
Flags: DSV_FLAGS,
|
||||
using _: struct #raw_union {
|
||||
Texture1D: TEX1D_DSV,
|
||||
Texture1DArray: TEX1D_ARRAY_DSV,
|
||||
@@ -1693,16 +1729,17 @@ IDepthStencilView_VTable :: struct {
|
||||
}
|
||||
|
||||
|
||||
BUFFER_UAV_FLAG :: enum u32 { // TODO: make bit_set
|
||||
RAW = 0x1,
|
||||
APPEND = 0x2,
|
||||
COUNTER = 0x4,
|
||||
BUFFER_UAV_FLAGS :: distinct bit_set[BUFFER_UAV_FLAG; u32]
|
||||
BUFFER_UAV_FLAG :: enum u32 {
|
||||
RAW = 0,
|
||||
APPEND = 1,
|
||||
COUNTER = 2,
|
||||
}
|
||||
|
||||
BUFFER_UAV :: struct {
|
||||
FirstElement: u32,
|
||||
NumElements: u32,
|
||||
Flags: u32,
|
||||
Flags: BUFFER_UAV_FLAGS,
|
||||
}
|
||||
|
||||
TEX1D_UAV :: struct {
|
||||
@@ -1961,8 +1998,9 @@ IAsynchronous_VTable :: struct {
|
||||
}
|
||||
|
||||
|
||||
ASYNC_GETDATA_FLAG :: enum u32 { // TODO: make bit_set
|
||||
DONOTFLUSH = 0x1,
|
||||
ASYNC_GETDATA_FLAGS :: distinct bit_set[ASYNC_GETDATA_FLAG; u32]
|
||||
ASYNC_GETDATA_FLAG :: enum u32 {
|
||||
DONOTFLUSH = 0,
|
||||
}
|
||||
|
||||
QUERY :: enum i32 {
|
||||
@@ -1984,13 +2022,14 @@ QUERY :: enum i32 {
|
||||
SO_OVERFLOW_PREDICATE_STREAM3 = 15,
|
||||
}
|
||||
|
||||
QUERY_MISC_FLAG :: enum u32 { // TODO: make bit_set
|
||||
QUERY_MISC_PREDICATEHINT = 0x1,
|
||||
QUERY_MISC_FLAGS :: distinct bit_set[QUERY_MISC_FLAG; u32]
|
||||
QUERY_MISC_FLAG :: enum u32 {
|
||||
PREDICATEHINT = 0,
|
||||
}
|
||||
|
||||
QUERY_DESC :: struct {
|
||||
Query: QUERY,
|
||||
MiscFlags: RESOURCE_MISC_FLAG,
|
||||
MiscFlags: QUERY_MISC_FLAGS,
|
||||
}
|
||||
|
||||
CQUERY_DESC :: struct {
|
||||
@@ -2054,7 +2093,7 @@ COUNTER_TYPE :: enum i32 {
|
||||
|
||||
COUNTER_DESC :: struct {
|
||||
Counter: COUNTER,
|
||||
MiscFlags: RESOURCE_MISC_FLAG,
|
||||
MiscFlags: RESOURCE_MISC_FLAGS,
|
||||
}
|
||||
|
||||
CCOUNTER_DESC :: struct {
|
||||
@@ -2150,21 +2189,21 @@ FEATURE :: enum i32 {
|
||||
FORMAT_SUPPORT = 2,
|
||||
FORMAT_SUPPORT2 = 3,
|
||||
D3D10_X_HARDWARE_OPTIONS = 4,
|
||||
OPTIONS = 5,
|
||||
OPTIONS = 5,
|
||||
ARCHITECTURE_INFO = 6,
|
||||
D3D9_OPTIONS = 7,
|
||||
SHADER_MIN_PRECISION_SUPPORT = 8,
|
||||
D3D9_SHADOW_SUPPORT = 9,
|
||||
OPTIONS1 = 10,
|
||||
OPTIONS1 = 10,
|
||||
D3D9_SIMPLE_INSTANCING_SUPPORT = 11,
|
||||
MARKER_SUPPORT = 12,
|
||||
D3D9_OPTIONS1 = 13,
|
||||
OPTIONS2 = 14,
|
||||
OPTIONS3 = 15,
|
||||
OPTIONS2 = 14,
|
||||
OPTIONS3 = 15,
|
||||
GPU_VIRTUAL_ADDRESS_SUPPORT = 16,
|
||||
OPTIONS4 = 17,
|
||||
OPTIONS4 = 17,
|
||||
SHADER_CACHE = 18,
|
||||
OPTIONS5 = 19,
|
||||
OPTIONS5 = 19,
|
||||
}
|
||||
|
||||
FEATURE_DATA_THREADING :: struct {
|
||||
@@ -2285,14 +2324,14 @@ FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT :: struct {
|
||||
MaxGPUVirtualAddressBitsPerProcess: u32,
|
||||
}
|
||||
|
||||
SHADER_CACHE_SUPPORT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
AUTOMATIC_INPROC_CACHE = 0x1,
|
||||
AUTOMATIC_DISK_CACHE = 0x2,
|
||||
SHADER_CACHE_SUPPORT_FLAGS :: distinct bit_set[SHADER_CACHE_SUPPORT_FLAG; u32]
|
||||
SHADER_CACHE_SUPPORT_FLAG :: enum u32 {
|
||||
AUTOMATIC_INPROC_CACHE = 0,
|
||||
AUTOMATIC_DISK_CACHE = 1,
|
||||
}
|
||||
|
||||
FEATURE_DATA_SHADER_CACHE :: struct {
|
||||
SupportFlags: u32,
|
||||
SupportFlags: SHADER_CACHE_SUPPORT_FLAGS,
|
||||
}
|
||||
|
||||
SHARED_RESOURCE_TIER :: enum i32 {
|
||||
@@ -2322,7 +2361,7 @@ IDeviceContext_VTable :: struct {
|
||||
VSSetShader: proc "stdcall" (this: ^IDeviceContext, pVertexShader: ^IVertexShader, ppClassInstances: ^^IClassInstance, NumClassInstances: u32),
|
||||
DrawIndexed: proc "stdcall" (this: ^IDeviceContext, IndexCount: u32, StartIndexLocation: u32, BaseVertexLocation: i32),
|
||||
Draw: proc "stdcall" (this: ^IDeviceContext, VertexCount: u32, StartVertexLocation: u32),
|
||||
Map: proc "stdcall" (this: ^IDeviceContext, pResource: ^IResource, Subresource: u32, MapType: MAP, MapFlags: u32, pMappedResource: ^MAPPED_SUBRESOURCE) -> HRESULT,
|
||||
Map: proc "stdcall" (this: ^IDeviceContext, pResource: ^IResource, Subresource: u32, MapType: MAP, MapFlags: MAP_FLAGS, pMappedResource: ^MAPPED_SUBRESOURCE) -> HRESULT,
|
||||
Unmap: proc "stdcall" (this: ^IDeviceContext, pResource: ^IResource, Subresource: u32),
|
||||
PSSetConstantBuffers: proc "stdcall" (this: ^IDeviceContext, StartSlot: u32, NumBuffers: u32, ppConstantBuffers: ^^IBuffer),
|
||||
IASetInputLayout: proc "stdcall" (this: ^IDeviceContext, pInputLayout: ^IInputLayout),
|
||||
@@ -2343,7 +2382,7 @@ IDeviceContext_VTable :: struct {
|
||||
GSSetSamplers: proc "stdcall" (this: ^IDeviceContext, StartSlot: u32, NumSamplers: u32, ppSamplers: ^^ISamplerState),
|
||||
OMSetRenderTargets: proc "stdcall" (this: ^IDeviceContext, NumViews: u32, ppRenderTargetViews: ^^IRenderTargetView, pDepthStencilView: ^IDepthStencilView),
|
||||
OMSetRenderTargetsAndUnorderedAccessViews: proc "stdcall" (this: ^IDeviceContext, NumRTVs: u32, ppRenderTargetViews: ^^IRenderTargetView, pDepthStencilView: ^IDepthStencilView, UAVStartSlot: u32, NumUAVs: u32, ppUnorderedAccessViews: ^^IUnorderedAccessView, pUAVInitialCounts: ^u32),
|
||||
OMSetBlendState: proc "stdcall" (this: ^IDeviceContext, pBlendState: ^IBlendState, BlendFactor: ^[4]f32, SampleMask: u32),
|
||||
OMSetBlendState: proc "stdcall" (this: ^IDeviceContext, pBlendState: ^IBlendState, BlendFactor: ^[4]f32, SampleMask: COLOR_WRITE_ENABLE_MASK),
|
||||
OMSetDepthStencilState: proc "stdcall" (this: ^IDeviceContext, pDepthStencilState: ^IDepthStencilState, StencilRef: u32),
|
||||
SOSetTargets: proc "stdcall" (this: ^IDeviceContext, NumBuffers: u32, ppSOTargets: ^^IBuffer, pOffsets: ^u32),
|
||||
DrawAuto: proc "stdcall" (this: ^IDeviceContext),
|
||||
@@ -2361,7 +2400,7 @@ IDeviceContext_VTable :: struct {
|
||||
ClearRenderTargetView: proc "stdcall" (this: ^IDeviceContext, pRenderTargetView: ^IRenderTargetView, ColorRGBA: ^[4]f32),
|
||||
ClearUnorderedAccessViewUint: proc "stdcall" (this: ^IDeviceContext, pUnorderedAccessView: ^IUnorderedAccessView, Values: ^[4]u32),
|
||||
ClearUnorderedAccessViewFloat: proc "stdcall" (this: ^IDeviceContext, pUnorderedAccessView: ^IUnorderedAccessView, Values: ^[4]f32),
|
||||
ClearDepthStencilView: proc "stdcall" (this: ^IDeviceContext, pDepthStencilView: ^IDepthStencilView, ClearFlags: CLEAR_FLAG, Depth: f32, Stencil: u8),
|
||||
ClearDepthStencilView: proc "stdcall" (this: ^IDeviceContext, pDepthStencilView: ^IDepthStencilView, ClearFlags: CLEAR_FLAGS, Depth: f32, Stencil: u8),
|
||||
GenerateMips: proc "stdcall" (this: ^IDeviceContext, pShaderResourceView: ^IShaderResourceView),
|
||||
SetResourceMinLOD: proc "stdcall" (this: ^IDeviceContext, pResource: ^IResource, MinLOD: f32),
|
||||
GetResourceMinLOD: proc "stdcall" (this: ^IDeviceContext, pResource: ^IResource) -> f32,
|
||||
@@ -2399,7 +2438,7 @@ IDeviceContext_VTable :: struct {
|
||||
GSGetSamplers: proc "stdcall" (this: ^IDeviceContext, StartSlot: u32, NumSamplers: u32, ppSamplers: ^^ISamplerState),
|
||||
OMGetRenderTargets: proc "stdcall" (this: ^IDeviceContext, NumViews: u32, ppRenderTargetViews: ^^IRenderTargetView, ppDepthStencilView: ^^IDepthStencilView),
|
||||
OMGetRenderTargetsAndUnorderedAccessViews: proc "stdcall" (this: ^IDeviceContext, NumRTVs: u32, ppRenderTargetViews: ^^IRenderTargetView, ppDepthStencilView: ^^IDepthStencilView, UAVStartSlot: u32, NumUAVs: u32, ppUnorderedAccessViews: ^^IUnorderedAccessView),
|
||||
OMGetBlendState: proc "stdcall" (this: ^IDeviceContext, ppBlendState: ^^IBlendState, BlendFactor: ^[4]f32, pSampleMask: ^u32),
|
||||
OMGetBlendState: proc "stdcall" (this: ^IDeviceContext, ppBlendState: ^^IBlendState, BlendFactor: ^[4]f32, pSampleMask: ^COLOR_WRITE_ENABLE_MASK),
|
||||
OMGetDepthStencilState: proc "stdcall" (this: ^IDeviceContext, ppDepthStencilState: ^^IDepthStencilState, pStencilRef: ^u32),
|
||||
SOGetTargets: proc "stdcall" (this: ^IDeviceContext, NumBuffers: u32, ppSOTargets: ^^IBuffer),
|
||||
RSGetState: proc "stdcall" (this: ^IDeviceContext, ppRasterizerState: ^^IRasterizerState),
|
||||
@@ -3315,13 +3354,13 @@ IDevice_VTable :: struct {
|
||||
GetCreationFlags: proc "stdcall" (this: ^IDevice) -> u32,
|
||||
GetDeviceRemovedReason: proc "stdcall" (this: ^IDevice) -> HRESULT,
|
||||
GetImmediateContext: proc "stdcall" (this: ^IDevice, ppImmediateContext: ^^IDeviceContext),
|
||||
SetExceptionMode: proc "stdcall" (this: ^IDevice, RaiseFlags: u32) -> HRESULT,
|
||||
SetExceptionMode: proc "stdcall" (this: ^IDevice, RaiseFlags: RAISE_FLAGS) -> HRESULT,
|
||||
GetExceptionMode: proc "stdcall" (this: ^IDevice) -> u32,
|
||||
}
|
||||
|
||||
|
||||
CREATE_DEVICE_FLAGS :: distinct bit_set[CREATE_DEVICE_FLAG; u32]
|
||||
CREATE_DEVICE_FLAG :: enum u32 { // TODO: make bit_set
|
||||
CREATE_DEVICE_FLAG :: enum u32 {
|
||||
SINGLETHREADED = 0,
|
||||
DEBUG = 1,
|
||||
SWITCH_TO_REF = 2,
|
||||
@@ -3367,14 +3406,14 @@ SHADER_BUFFER_DESC :: struct {
|
||||
Type: CBUFFER_TYPE,
|
||||
Variables: u32,
|
||||
Size: u32,
|
||||
uFlags: u32,
|
||||
uFlags: SHADER_CBUFFER_FLAGS,
|
||||
}
|
||||
|
||||
SHADER_VARIABLE_DESC :: struct {
|
||||
Name: cstring,
|
||||
StartOffset: u32,
|
||||
Size: u32,
|
||||
uFlags: u32,
|
||||
uFlags: SHADER_VARIABLE_FLAGS,
|
||||
DefaultValue: rawptr,
|
||||
StartTexture: u32,
|
||||
TextureSize: u32,
|
||||
@@ -3443,7 +3482,7 @@ SHADER_INPUT_BIND_DESC :: struct {
|
||||
BindPoint: u32,
|
||||
BindCount: u32,
|
||||
|
||||
uFlags: u32,
|
||||
uFlags: SHADER_INPUT_FLAGS,
|
||||
ReturnType: RESOURCE_RETURN_TYPE,
|
||||
Dimension: SRV_DIMENSION,
|
||||
NumSamples: u32,
|
||||
@@ -3485,7 +3524,7 @@ FUNCTION_DESC :: struct {
|
||||
ConversionInstructionCount: u32,
|
||||
BitwiseInstructionCount: u32,
|
||||
MinFeatureLevel: FEATURE_LEVEL,
|
||||
RequiredFeatureFlags: u64,
|
||||
RequiredFeatureFlags: SHADER_REQUIRES_FLAGS,
|
||||
|
||||
Name: cstring,
|
||||
FunctionParameterCount: i32,
|
||||
@@ -3571,7 +3610,7 @@ IShaderReflection_VTable :: struct {
|
||||
GetNumInterfaceSlots: proc "stdcall" (this: ^IShaderReflection) -> u32,
|
||||
GetMinFeatureLevel: proc "stdcall" (this: ^IShaderReflection, pLevel: ^FEATURE_LEVEL) -> HRESULT,
|
||||
GetThreadGroupSize: proc "stdcall" (this: ^IShaderReflection, pSizeX: ^u32, pSizeY: ^u32, pSizeZ: ^u32) -> u32,
|
||||
GetRequiresFlags: proc "stdcall" (this: ^IShaderReflection) -> u64,
|
||||
GetRequiresFlags: proc "stdcall" (this: ^IShaderReflection) -> SHADER_REQUIRES_FLAGS,
|
||||
}
|
||||
|
||||
|
||||
@@ -3634,22 +3673,24 @@ IDebug :: struct #raw_union {
|
||||
using id3d11debug_vtable: ^IDebug_VTable,
|
||||
}
|
||||
|
||||
RLDO_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
SUMMARY = 0x1,
|
||||
DETAIL = 0x2,
|
||||
IGNORE_INTERNAL = 0x4,
|
||||
RLDO_FLAGS :: distinct bit_set[RLDO_FLAG; u32]
|
||||
RLDO_FLAG :: enum u32 {
|
||||
SUMMARY = 0,
|
||||
DETAIL = 1,
|
||||
IGNORE_INTERNAL = 2,
|
||||
}
|
||||
|
||||
DEBUG_FEATURE :: enum u32 { // TODO: make bit_set
|
||||
FLUSH_PER_RENDER_OP = 0x1,
|
||||
FINISH_PER_RENDER_OP = 0x2,
|
||||
FEATURE_PRESENT_PER_RENDER_OP = 0x4,
|
||||
DEBUG_FEATURES :: distinct bit_set[DEBUG_FEATURE; u32]
|
||||
DEBUG_FEATURE :: enum u32 {
|
||||
FLUSH_PER_RENDER_OP = 0,
|
||||
FINISH_PER_RENDER_OP = 1,
|
||||
FEATURE_PRESENT_PER_RENDER_OP = 2,
|
||||
}
|
||||
|
||||
IDebug_VTable :: struct {
|
||||
using iunkown_vtable: IUnknown_VTable,
|
||||
SetFeatureMask: proc "stdcall" (this: ^IDebug, mask: DEBUG_FEATURE) -> HRESULT,
|
||||
GetFeatureMask: proc "stdcall" (this: ^IDebug) -> DEBUG_FEATURE,
|
||||
SetFeatureMask: proc "stdcall" (this: ^IDebug, mask: DEBUG_FEATURES) -> HRESULT,
|
||||
GetFeatureMask: proc "stdcall" (this: ^IDebug) -> DEBUG_FEATURES,
|
||||
SetPresentPerRenderOpDelay: proc "stdcall" (this: ^IDebug, Milliseconds: u32) -> HRESULT,
|
||||
GetPresentPerRenderOpDelay: proc "stdcall" (this: ^IDebug) -> u32,
|
||||
SetSwapChain: proc "stdcall" (this: ^IDebug, pSwapChain: ^dxgi.ISwapChain) -> HRESULT,
|
||||
@@ -3667,7 +3708,7 @@ IInfoQueue :: struct #raw_union {
|
||||
using id3d11infoqueue_vtable: ^IInfoQueue_VTable,
|
||||
}
|
||||
|
||||
MESSAGE_SEVERITY :: enum u32 { // TODO: make bit_set
|
||||
MESSAGE_SEVERITY :: enum u32 {
|
||||
CORRUPTION = 0,
|
||||
ERROR,
|
||||
WARNING,
|
||||
@@ -3675,7 +3716,7 @@ MESSAGE_SEVERITY :: enum u32 { // TODO: make bit_set
|
||||
MESSAGE, // Not supported until D3D 11.1
|
||||
}
|
||||
|
||||
MESSAGE_CATEGORY :: enum u32 { // TODO: make bit_set
|
||||
MESSAGE_CATEGORY :: enum u32 {
|
||||
APPLICATION_DEFINED = 0,
|
||||
MISCELLANEOUS,
|
||||
INITIALIZATION,
|
||||
@@ -3692,10 +3733,10 @@ MESSAGE_CATEGORY :: enum u32 { // TODO: make bit_set
|
||||
INFO_QUEUE_FILTER_DESC :: struct {
|
||||
NumCategories: u32,
|
||||
pCategoryList: ^MESSAGE_CATEGORY,
|
||||
|
||||
|
||||
NumSeverities: u32,
|
||||
pSeverityList: ^MESSAGE_SEVERITY,
|
||||
|
||||
|
||||
NumIDs: u32,
|
||||
pIDList: ^MESSAGE_ID,
|
||||
}
|
||||
@@ -3750,7 +3791,7 @@ IInfoQueue_VTable :: struct {
|
||||
SetMuteDebugOutput: proc "stdcall" (this: ^IInfoQueue, bMute: BOOL),
|
||||
}
|
||||
|
||||
MESSAGE_ID :: enum u32 { // TODO: make bit_set
|
||||
MESSAGE_ID :: enum u32 {
|
||||
UNKNOWN = 0,
|
||||
DEVICE_IASETVERTEXBUFFERS_HAZARD,
|
||||
DEVICE_IASETINDEXBUFFER_HAZARD,
|
||||
|
||||
Vendored
+331
-303
@@ -212,11 +212,12 @@ SHADER_VARIABLE_CLASS :: enum i32 {
|
||||
INTERFACE_POINTER = 7,
|
||||
}
|
||||
|
||||
SHADER_VARIABLE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
USERPACKED = 0x1,
|
||||
USED = 0x2,
|
||||
INTERFACE_POINTER = 0x4,
|
||||
INTERFACE_PARAMETER = 0x8,
|
||||
SHADER_VARIABLE_FLAGS :: distinct bit_set[SHADER_VARIABLE_FLAG; u32]
|
||||
SHADER_VARIABLE_FLAG :: enum u32 {
|
||||
USERPACKED = 0,
|
||||
USED = 1,
|
||||
INTERFACE_POINTER = 2,
|
||||
INTERFACE_PARAMETER = 3,
|
||||
}
|
||||
|
||||
SHADER_VARIABLE_TYPE :: enum i32 {
|
||||
@@ -280,15 +281,16 @@ SHADER_VARIABLE_TYPE :: enum i32 {
|
||||
MIN16UINT = 57,
|
||||
}
|
||||
|
||||
SHADER_INPUT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
USERPACKED = 0x1,
|
||||
COMPARISON_SAMPLER = 0x2,
|
||||
TEXTURE_COMPONENT_0 = 0x4,
|
||||
TEXTURE_COMPONENT_1 = 0x8,
|
||||
TEXTURE_COMPONENTS = 0xc,
|
||||
UNUSED = 0x10,
|
||||
SHADER_INPUT_FLAGS :: distinct bit_set[SHADER_INPUT_FLAG; u32]
|
||||
SHADER_INPUT_FLAG :: enum u32 {
|
||||
USERPACKED = 0,
|
||||
COMPARISON_SAMPLER = 1,
|
||||
TEXTURE_COMPONENT_0 = 2,
|
||||
TEXTURE_COMPONENT_1 = 3,
|
||||
UNUSED = 4,
|
||||
}
|
||||
|
||||
|
||||
SHADER_INPUT_TYPE :: enum i32 {
|
||||
CBUFFER = 0,
|
||||
TBUFFER = 1,
|
||||
@@ -306,8 +308,9 @@ SHADER_INPUT_TYPE :: enum i32 {
|
||||
UAV_FEEDBACKTEXTURE = 13,
|
||||
}
|
||||
|
||||
SHADER_CBUFFER_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
USERPACKED = 0x1,
|
||||
SHADER_CBUFFER_FLAGS :: distinct bit_set[SHADER_CBUFFER_FLAG; u32]
|
||||
SHADER_CBUFFER_FLAG :: enum u32 {
|
||||
USERPACKED = 0,
|
||||
}
|
||||
|
||||
CBUFFER_TYPE :: enum i32 {
|
||||
@@ -410,13 +413,12 @@ INTERPOLATION_MODE :: enum i32 {
|
||||
LINEAR_NOPERSPECTIVE_SAMPLE = 7,
|
||||
}
|
||||
|
||||
PARAMETER_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
IN = 0x1,
|
||||
OUT = 0x2,
|
||||
PARAMETER_FLAGS :: distinct bit_set[PARAMETER_FLAG; u32]
|
||||
PARAMETER_FLAG :: enum u32 {
|
||||
IN = 0,
|
||||
OUT = 1,
|
||||
}
|
||||
|
||||
|
||||
GPU_VIRTUAL_ADDRESS :: u64
|
||||
|
||||
COMMAND_LIST_TYPE :: enum i32 {
|
||||
@@ -429,9 +431,9 @@ COMMAND_LIST_TYPE :: enum i32 {
|
||||
VIDEO_ENCODE = 6,
|
||||
}
|
||||
|
||||
COMMAND_QUEUE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
DISABLE_GPU_TIMEOUT = 0x1,
|
||||
COMMAND_QUEUE_FLAGS :: distinct bit_set[COMMAND_QUEUE_FLAG; u32]
|
||||
COMMAND_QUEUE_FLAG :: enum u32 {
|
||||
DISABLE_GPU_TIMEOUT = 0,
|
||||
}
|
||||
|
||||
COMMAND_QUEUE_PRIORITY :: enum i32 {
|
||||
@@ -593,12 +595,19 @@ BLEND_OP :: enum i32 {
|
||||
MAX = 5,
|
||||
}
|
||||
|
||||
COLOR_WRITE_ENABLE :: enum i32 { // TODO: make bit_set
|
||||
RED = 1,
|
||||
GREEN = 2,
|
||||
BLUE = 4,
|
||||
ALPHA = 8,
|
||||
ALL = 15,
|
||||
COLOR_WRITE_ENABLE_MASK :: distinct bit_set[COLOR_WRITE_ENABLE; u32]
|
||||
|
||||
COLOR_WRITE_ENABLE_RED :: COLOR_WRITE_ENABLE_MASK{.RED}
|
||||
COLOR_WRITE_ENABLE_GREEN :: COLOR_WRITE_ENABLE_MASK{.GREEN}
|
||||
COLOR_WRITE_ENABLE_BLUE :: COLOR_WRITE_ENABLE_MASK{.BLUE}
|
||||
COLOR_WRITE_ENABLE_ALPHA :: COLOR_WRITE_ENABLE_MASK{.ALPHA}
|
||||
COLOR_WRITE_ENABLE_ALL :: COLOR_WRITE_ENABLE_MASK{.RED, .GREEN, .BLUE, .ALPHA}
|
||||
|
||||
COLOR_WRITE_ENABLE :: enum i32 {
|
||||
RED = 0,
|
||||
GREEN = 1,
|
||||
BLUE = 2,
|
||||
ALPHA = 3,
|
||||
}
|
||||
|
||||
LOGIC_OP :: enum i32 {
|
||||
@@ -721,9 +730,9 @@ CACHED_PIPELINE_STATE :: struct {
|
||||
CachedBlobSizeInBytes: SIZE_T,
|
||||
}
|
||||
|
||||
PIPELINE_STATE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
TOOL_DEBUG = 0x1,
|
||||
PIPELINE_STATE_FLAGS :: distinct bit_set[PIPELINE_STATE_FLAG; u32]
|
||||
PIPELINE_STATE_FLAG :: enum u32 {
|
||||
TOOL_DEBUG = 0,
|
||||
}
|
||||
|
||||
GRAPHICS_PIPELINE_STATE_DESC :: struct {
|
||||
@@ -853,58 +862,61 @@ CONSERVATIVE_RASTERIZATION_TIER :: enum i32 {
|
||||
_3 = 3,
|
||||
}
|
||||
|
||||
FORMAT_SUPPORT1 :: enum i32 { // TODO: make bit_set
|
||||
NONE = 0,
|
||||
BUFFER = 1,
|
||||
IA_VERTEX_BUFFER = 2,
|
||||
IA_INDEX_BUFFER = 4,
|
||||
SO_BUFFER = 8,
|
||||
TEXTURE1D = 16,
|
||||
TEXTURE2D = 32,
|
||||
TEXTURE3D = 64,
|
||||
TEXTURECUBE = 128,
|
||||
SHADER_LOAD = 256,
|
||||
SHADER_SAMPLE = 512,
|
||||
SHADER_SAMPLE_COMPARISON = 1024,
|
||||
SHADER_SAMPLE_MONO_TEXT = 2048,
|
||||
MIP = 4096,
|
||||
RENDER_TARGET = 16384,
|
||||
BLENDABLE = 32768,
|
||||
DEPTH_STENCIL = 65536,
|
||||
MULTISAMPLE_RESOLVE = 262144,
|
||||
DISPLAY = 524288,
|
||||
CAST_WITHIN_BIT_LAYOUT = 1048576,
|
||||
MULTISAMPLE_RENDERTARGET = 2097152,
|
||||
MULTISAMPLE_LOAD = 4194304,
|
||||
SHADER_GATHER = 8388608,
|
||||
BACK_BUFFER_CAST = 16777216,
|
||||
TYPED_UNORDERED_ACCESS_VIEW = 33554432,
|
||||
SHADER_GATHER_COMPARISON = 67108864,
|
||||
DECODER_OUTPUT = 134217728,
|
||||
VIDEO_PROCESSOR_OUTPUT = 268435456,
|
||||
VIDEO_PROCESSOR_INPUT = 536870912,
|
||||
VIDEO_ENCODER = 1073741824,
|
||||
FORMAT_SUPPORT1 :: distinct bit_set[FORMAT_SUPPORT1_FLAG; u32]
|
||||
FORMAT_SUPPORT1_FLAG :: enum i32 {
|
||||
BUFFER = 0,
|
||||
IA_VERTEX_BUFFER = 1,
|
||||
IA_INDEX_BUFFER = 2,
|
||||
SO_BUFFER = 3,
|
||||
TEXTURE1D = 4,
|
||||
TEXTURE2D = 5,
|
||||
TEXTURE3D = 6,
|
||||
TEXTURECUBE = 7,
|
||||
SHADER_LOAD = 8,
|
||||
SHADER_SAMPLE = 9,
|
||||
SHADER_SAMPLE_COMPARISON = 10,
|
||||
SHADER_SAMPLE_MONO_TEXT = 11,
|
||||
MIP = 12,
|
||||
|
||||
RENDER_TARGET = 14,
|
||||
BLENDABLE = 15,
|
||||
DEPTH_STENCIL = 16,
|
||||
|
||||
MULTISAMPLE_RESOLVE = 18,
|
||||
DISPLAY = 19,
|
||||
CAST_WITHIN_BIT_LAYOUT = 20,
|
||||
MULTISAMPLE_RENDERTARGET = 21,
|
||||
MULTISAMPLE_LOAD = 22,
|
||||
SHADER_GATHER = 23,
|
||||
BACK_BUFFER_CAST = 24,
|
||||
TYPED_UNORDERED_ACCESS_VIEW = 25,
|
||||
SHADER_GATHER_COMPARISON = 26,
|
||||
DECODER_OUTPUT = 27,
|
||||
VIDEO_PROCESSOR_OUTPUT = 28,
|
||||
VIDEO_PROCESSOR_INPUT = 29,
|
||||
VIDEO_ENCODER = 30,
|
||||
}
|
||||
|
||||
FORMAT_SUPPORT2 :: enum i32 { // TODO: make bit_set
|
||||
NONE = 0,
|
||||
UAV_ATOMIC_ADD = 1,
|
||||
UAV_ATOMIC_BITWISE_OPS = 2,
|
||||
UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 4,
|
||||
UAV_ATOMIC_EXCHANGE = 8,
|
||||
UAV_ATOMIC_SIGNED_MIN_OR_MAX = 16,
|
||||
UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 32,
|
||||
UAV_TYPED_LOAD = 64,
|
||||
UAV_TYPED_STORE = 128,
|
||||
OUTPUT_MERGER_LOGIC_OP = 256,
|
||||
TILED = 512,
|
||||
MULTIPLANE_OVERLAY = 16384,
|
||||
SAMPLER_FEEDBACK = 32768,
|
||||
FORMAT_SUPPORT2 :: distinct bit_set[FORMAT_SUPPORT2_FLAG; u32]
|
||||
FORMAT_SUPPORT2_FLAG :: enum i32 {
|
||||
UAV_ATOMIC_ADD = 0,
|
||||
UAV_ATOMIC_BITWISE_OPS = 1,
|
||||
UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 2,
|
||||
UAV_ATOMIC_EXCHANGE = 3,
|
||||
UAV_ATOMIC_SIGNED_MIN_OR_MAX = 4,
|
||||
UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 5,
|
||||
UAV_TYPED_LOAD = 6,
|
||||
UAV_TYPED_STORE = 7,
|
||||
OUTPUT_MERGER_LOGIC_OP = 8,
|
||||
TILED = 9,
|
||||
|
||||
MULTIPLANE_OVERLAY = 14,
|
||||
SAMPLER_FEEDBACK = 15,
|
||||
}
|
||||
|
||||
MULTISAMPLE_QUALITY_LEVEL_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
TILED_RESOURCE = 0x1,
|
||||
MULTISAMPLE_QUALITY_LEVEL_FLAGS :: distinct bit_set[MULTISAMPLE_QUALITY_LEVEL_FLAG; u32]
|
||||
MULTISAMPLE_QUALITY_LEVEL_FLAG :: enum u32 {
|
||||
TILED_RESOURCE = 0,
|
||||
}
|
||||
|
||||
CROSS_NODE_SHARING_TIER :: enum i32 {
|
||||
@@ -1034,12 +1046,12 @@ FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT :: struct {
|
||||
MaxGPUVirtualAddressBitsPerProcess: u32,
|
||||
}
|
||||
|
||||
SHADER_CACHE_SUPPORT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
SINGLE_PSO = 0x1,
|
||||
LIBRARY = 0x2,
|
||||
AUTOMATIC_INPROC_CACHE = 0x4,
|
||||
AUTOMATIC_DISK_CACHE = 0x8,
|
||||
SHADER_CACHE_SUPPORT_FLAGS :: distinct bit_set[SHADER_CACHE_SUPPORT_FLAG; u32]
|
||||
SHADER_CACHE_SUPPORT_FLAG :: enum u32 {
|
||||
SINGLE_PSO = 0,
|
||||
LIBRARY = 1,
|
||||
AUTOMATIC_INPROC_CACHE = 2,
|
||||
AUTOMATIC_DISK_CACHE = 3,
|
||||
}
|
||||
|
||||
FEATURE_DATA_SHADER_CACHE :: struct {
|
||||
@@ -1052,15 +1064,15 @@ FEATURE_DATA_COMMAND_QUEUE_PRIORITY :: struct {
|
||||
PriorityForTypeIsSupported: BOOL,
|
||||
}
|
||||
|
||||
COMMAND_LIST_SUPPORT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
DIRECT = 0x1,
|
||||
BUNDLE = 0x2,
|
||||
COMPUTE = 0x4,
|
||||
COPY = 0x8,
|
||||
VIDEO_DECODE = 0x10,
|
||||
VIDEO_PROCESS = 0x20,
|
||||
VIDEO_ENCODE = 0x40,
|
||||
COMMAND_LIST_SUPPORT_FLAGS :: distinct bit_set[COMMAND_LIST_SUPPORT_FLAG; u32]
|
||||
COMMAND_LIST_SUPPORT_FLAG :: enum u32 {
|
||||
DIRECT = 0,
|
||||
BUNDLE = 1,
|
||||
COMPUTE = 2,
|
||||
COPY = 3,
|
||||
VIDEO_DECODE = 4,
|
||||
VIDEO_PROCESS = 5,
|
||||
VIDEO_ENCODE = 6,
|
||||
}
|
||||
|
||||
FEATURE_DATA_OPTIONS3 :: struct {
|
||||
@@ -1198,25 +1210,26 @@ HEAP_PROPERTIES :: struct {
|
||||
VisibleNodeMask: u32,
|
||||
}
|
||||
|
||||
HEAP_FLAGS :: enum u32 { // TODO: make bit_set ???
|
||||
NONE = 0x0,
|
||||
SHARED = 0x1,
|
||||
DENY_BUFFERS = 0x4,
|
||||
ALLOW_DISPLAY = 0x8,
|
||||
SHARED_CROSS_ADAPTER = 0x20,
|
||||
DENY_RT_DS_TEXTURES = 0x40,
|
||||
DENY_NON_RT_DS_TEXTURES = 0x80,
|
||||
HARDWARE_PROTECTED = 0x100,
|
||||
ALLOW_WRITE_WATCH = 0x200,
|
||||
ALLOW_SHADER_ATOMICS = 0x400,
|
||||
CREATE_NOT_RESIDENT = 0x800,
|
||||
CREATE_NOT_ZEROED = 0x1000,
|
||||
ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x0,
|
||||
ALLOW_ONLY_BUFFERS = 0xc0,
|
||||
ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44,
|
||||
ALLOW_ONLY_RT_DS_TEXTURES = 0x84,
|
||||
HEAP_FLAGS :: distinct bit_set[HEAP_FLAG; u32]
|
||||
HEAP_FLAG :: enum u32 {
|
||||
SHARED = 0,
|
||||
DENY_BUFFERS = 2,
|
||||
ALLOW_DISPLAY = 3,
|
||||
SHARED_CROSS_ADAPTER = 5,
|
||||
DENY_RT_DS_TEXTURES = 6,
|
||||
DENY_NON_RT_DS_TEXTURES = 7,
|
||||
HARDWARE_PROTECTED = 8,
|
||||
ALLOW_WRITE_WATCH = 9,
|
||||
ALLOW_SHADER_ATOMICS = 10,
|
||||
CREATE_NOT_RESIDENT = 11,
|
||||
CREATE_NOT_ZEROED = 12,
|
||||
}
|
||||
|
||||
HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES :: HEAP_FLAGS{}
|
||||
HEAP_FLAG_ALLOW_ONLY_BUFFERS :: HEAP_FLAGS{.DENY_BUFFERS, .ALLOW_DISPLAY}
|
||||
HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES :: HEAP_FLAGS{.DENY_BUFFERS, .DENY_RT_DS_TEXTURES}
|
||||
HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES :: HEAP_FLAGS{.DENY_BUFFERS, .DENY_NON_RT_DS_TEXTURES}
|
||||
|
||||
HEAP_DESC :: struct {
|
||||
SizeInBytes: u64,
|
||||
Properties: HEAP_PROPERTIES,
|
||||
@@ -1239,15 +1252,15 @@ TEXTURE_LAYOUT :: enum i32 {
|
||||
_64KB_STANDARD_SWIZZLE = 3,
|
||||
}
|
||||
|
||||
RESOURCE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
ALLOW_RENDER_TARGET = 0x1,
|
||||
ALLOW_DEPTH_STENCIL = 0x2,
|
||||
ALLOW_UNORDERED_ACCESS = 0x4,
|
||||
DENY_SHADER_RESOURCE = 0x8,
|
||||
ALLOW_CROSS_ADAPTER = 0x10,
|
||||
ALLOW_SIMULTANEOUS_ACCESS = 0x20,
|
||||
VIDEO_DECODE_REFERENCE_ONLY = 0x40,
|
||||
RESOURCE_FLAGS :: distinct bit_set[RESOURCE_FLAG; u32]
|
||||
RESOURCE_FLAG :: enum u32 {
|
||||
ALLOW_RENDER_TARGET = 0,
|
||||
ALLOW_DEPTH_STENCIL = 1,
|
||||
ALLOW_UNORDERED_ACCESS = 2,
|
||||
DENY_SHADER_RESOURCE = 3,
|
||||
ALLOW_CROSS_ADAPTER = 4,
|
||||
ALLOW_SIMULTANEOUS_ACCESS = 5,
|
||||
VIDEO_DECODE_REFERENCE_ONLY = 6,
|
||||
}
|
||||
|
||||
MIP_REGION :: struct {
|
||||
@@ -1332,11 +1345,11 @@ TILE_REGION_SIZE :: struct {
|
||||
Depth: u16,
|
||||
}
|
||||
|
||||
TILE_RANGE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
NULL = 0x1,
|
||||
SKIP = 0x2,
|
||||
REUSE_SINGLE_TILE = 0x4,
|
||||
TILE_RANGE_FLAGS :: distinct bit_set[TILE_RANGE_FLAG; u32]
|
||||
TILE_RANGE_FLAG :: enum u32 {
|
||||
NULL = 0,
|
||||
SKIP = 1,
|
||||
REUSE_SINGLE_TILE = 2,
|
||||
}
|
||||
|
||||
SUBRESOURCE_TILING :: struct {
|
||||
@@ -1359,45 +1372,52 @@ PACKED_MIP_INFO :: struct {
|
||||
StartTileIndexInOverallResource: u32,
|
||||
}
|
||||
|
||||
TILE_MAPPING_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
NO_HAZARD = 0x1,
|
||||
TILE_MAPPING_FLAGS :: distinct bit_set[TILE_MAPPING_FLAG; u32]
|
||||
TILE_MAPPING_FLAG :: enum u32 {
|
||||
NO_HAZARD = 0,
|
||||
}
|
||||
|
||||
TILE_COPY_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
NO_HAZARD = 0x1,
|
||||
LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
|
||||
SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4,
|
||||
TILE_COPY_FLAGS :: distinct bit_set[TILE_COPY_FLAG; u32]
|
||||
TILE_COPY_FLAG :: enum u32 {
|
||||
NO_HAZARD = 0,
|
||||
LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 1,
|
||||
SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 2,
|
||||
}
|
||||
|
||||
RESOURCE_STATES :: enum i32 { // TODO: make bit_set
|
||||
COMMON = 0,
|
||||
VERTEX_AND_CONSTANT_BUFFER = 1,
|
||||
INDEX_BUFFER = 2,
|
||||
RENDER_TARGET = 4,
|
||||
UNORDERED_ACCESS = 8,
|
||||
DEPTH_WRITE = 16,
|
||||
DEPTH_READ = 32,
|
||||
NON_PIXEL_SHADER_RESOURCE = 64,
|
||||
PIXEL_SHADER_RESOURCE = 128,
|
||||
STREAM_OUT = 256,
|
||||
INDIRECT_ARGUMENT = 512,
|
||||
COPY_DEST = 1024,
|
||||
COPY_SOURCE = 2048,
|
||||
RESOLVE_DEST = 4096,
|
||||
RESOLVE_SOURCE = 8192,
|
||||
RAYTRACING_ACCELERATION_STRUCTURE = 4194304,
|
||||
SHADING_RATE_SOURCE = 16777216,
|
||||
GENERIC_READ = 2755,
|
||||
PRESENT = 0,
|
||||
PREDICATION = 512,
|
||||
VIDEO_DECODE_READ = 65536,
|
||||
VIDEO_DECODE_WRITE = 131072,
|
||||
VIDEO_PROCESS_READ = 262144,
|
||||
VIDEO_PROCESS_WRITE = 524288,
|
||||
VIDEO_ENCODE_READ = 2097152,
|
||||
VIDEO_ENCODE_WRITE = 8388608,
|
||||
RESOURCE_STATES :: distinct bit_set[RESOURCE_STATE; u32]
|
||||
RESOURCE_STATE :: enum i32 {
|
||||
VERTEX_AND_CONSTANT_BUFFER = 0,
|
||||
INDEX_BUFFER = 1,
|
||||
RENDER_TARGET = 2,
|
||||
UNORDERED_ACCESS = 3,
|
||||
DEPTH_WRITE = 4,
|
||||
DEPTH_READ = 5,
|
||||
NON_PIXEL_SHADER_RESOURCE = 6,
|
||||
PIXEL_SHADER_RESOURCE = 7,
|
||||
STREAM_OUT = 8,
|
||||
INDIRECT_ARGUMENT = 9,
|
||||
COPY_DEST = 10,
|
||||
COPY_SOURCE = 11,
|
||||
RESOLVE_DEST = 12,
|
||||
RESOLVE_SOURCE = 13,
|
||||
RAYTRACING_ACCELERATION_STRUCTURE = 22,
|
||||
SHADING_RATE_SOURCE = 24,
|
||||
PREDICATION = 9,
|
||||
VIDEO_DECODE_READ = 16,
|
||||
VIDEO_DECODE_WRITE = 17,
|
||||
VIDEO_PROCESS_READ = 18,
|
||||
VIDEO_PROCESS_WRITE = 19,
|
||||
VIDEO_ENCODE_READ = 21,
|
||||
VIDEO_ENCODE_WRITE = 23,
|
||||
}
|
||||
|
||||
RESOURCE_STATE_COMMON :: RESOURCE_STATES{}
|
||||
RESOURCE_STATE_PRESENT :: RESOURCE_STATES{}
|
||||
RESOURCE_STATE_GENERIC_READ :: RESOURCE_STATES{
|
||||
.VERTEX_AND_CONSTANT_BUFFER, .INDEX_BUFFER, .NON_PIXEL_SHADER_RESOURCE, .PIXEL_SHADER_RESOURCE, .INDIRECT_ARGUMENT, .COPY_SOURCE,
|
||||
}
|
||||
RESOURCE_STATE_ALL_SHADER_RESOURCE :: RESOURCE_STATES{
|
||||
.SHADING_RATE_SOURCE, .INDEX_BUFFER,
|
||||
}
|
||||
|
||||
RESOURCE_BARRIER_TYPE :: enum i32 {
|
||||
@@ -1422,10 +1442,10 @@ RESOURCE_UAV_BARRIER :: struct {
|
||||
pResource: ^IResource,
|
||||
}
|
||||
|
||||
RESOURCE_BARRIER_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
BEGIN_ONLY = 0x1,
|
||||
END_ONLY = 0x2,
|
||||
RESOURCE_BARRIER_FLAGS :: distinct bit_set[RESOURCE_BARRIER_FLAG; u32]
|
||||
RESOURCE_BARRIER_FLAG :: enum u32 {
|
||||
BEGIN_ONLY = 0,
|
||||
END_ONLY = 1,
|
||||
}
|
||||
|
||||
RESOURCE_BARRIER :: struct {
|
||||
@@ -1484,9 +1504,9 @@ VIEW_INSTANCE_LOCATION :: struct {
|
||||
RenderTargetArrayIndex: u32,
|
||||
}
|
||||
|
||||
VIEW_INSTANCING_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
ENABLE_VIEW_INSTANCE_MASKING = 0x1,
|
||||
VIEW_INSTANCING_FLAGS :: distinct bit_set[VIEW_INSTANCING_FLAG; u32]
|
||||
VIEW_INSTANCING_FLAG :: enum u32 {
|
||||
ENABLE_VIEW_INSTANCE_MASKING = 0,
|
||||
}
|
||||
|
||||
VIEW_INSTANCING_DESC :: struct {
|
||||
@@ -1504,9 +1524,9 @@ SHADER_COMPONENT_MAPPING :: enum i32 {
|
||||
FORCE_VALUE_1 = 5,
|
||||
}
|
||||
|
||||
BUFFER_SRV_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
RAW = 0x1,
|
||||
BUFFER_SRV_FLAGS :: distinct bit_set[BUFFER_SRV_FLAG; u32]
|
||||
BUFFER_SRV_FLAG :: enum u32 {
|
||||
RAW = 0,
|
||||
}
|
||||
|
||||
BUFFER_SRV :: struct {
|
||||
@@ -1675,9 +1695,9 @@ SAMPLER_DESC :: struct {
|
||||
MaxLOD: f32,
|
||||
}
|
||||
|
||||
BUFFER_UAV_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
RAW = 0x1,
|
||||
BUFFER_UAV_FLAGS :: distinct bit_set[BUFFER_UAV_FLAG; u32]
|
||||
BUFFER_UAV_FLAG :: enum u32 {
|
||||
RAW = 0,
|
||||
}
|
||||
|
||||
BUFFER_UAV :: struct {
|
||||
@@ -1837,10 +1857,10 @@ TEX2DMS_ARRAY_DSV :: struct {
|
||||
ArraySize: u32,
|
||||
}
|
||||
|
||||
DSV_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
READ_ONLY_DEPTH = 0x1,
|
||||
READ_ONLY_STENCIL = 0x2,
|
||||
DSV_FLAGS :: distinct bit_set[DSV_FLAG; u32]
|
||||
DSV_FLAG :: enum u32 {
|
||||
READ_ONLY_DEPTH = 0,
|
||||
READ_ONLY_STENCIL = 1,
|
||||
}
|
||||
|
||||
DSV_DIMENSION :: enum i32 {
|
||||
@@ -1867,16 +1887,17 @@ DEPTH_STENCIL_VIEW_DESC :: struct {
|
||||
},
|
||||
}
|
||||
|
||||
CLEAR_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
DEPTH = 0x1,
|
||||
STENCIL = 0x2,
|
||||
CLEAR_FLAGS :: distinct bit_set[CLEAR_FLAG; u32]
|
||||
CLEAR_FLAG :: enum u32 {
|
||||
DEPTH = 0,
|
||||
STENCIL = 1,
|
||||
}
|
||||
|
||||
FENCE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
SHARED = 0x1,
|
||||
SHARED_CROSS_ADAPTER = 0x2,
|
||||
NON_MONITORED = 0x4,
|
||||
FENCE_FLAGS :: distinct bit_set[FENCE_FLAG; u32]
|
||||
FENCE_FLAG :: enum u32 {
|
||||
SHARED = 0,
|
||||
SHARED_CROSS_ADAPTER = 1,
|
||||
NON_MONITORED = 2,
|
||||
}
|
||||
|
||||
DESCRIPTOR_HEAP_TYPE :: enum i32 {
|
||||
@@ -1887,9 +1908,9 @@ DESCRIPTOR_HEAP_TYPE :: enum i32 {
|
||||
NUM_TYPES = 4,
|
||||
}
|
||||
|
||||
DESCRIPTOR_HEAP_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
SHADER_VISIBLE = 0x1,
|
||||
DESCRIPTOR_HEAP_FLAGS :: distinct bit_set[DESCRIPTOR_HEAP_FLAG; u32]
|
||||
DESCRIPTOR_HEAP_FLAG :: enum u32 {
|
||||
SHADER_VISIBLE = 0,
|
||||
}
|
||||
|
||||
DESCRIPTOR_HEAP_DESC :: struct {
|
||||
@@ -1959,18 +1980,18 @@ ROOT_PARAMETER :: struct {
|
||||
ShaderVisibility: SHADER_VISIBILITY,
|
||||
}
|
||||
|
||||
ROOT_SIGNATURE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
|
||||
DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
|
||||
DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
|
||||
DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
|
||||
DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
|
||||
DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
|
||||
ALLOW_STREAM_OUTPUT = 0x40,
|
||||
LOCAL_ROOT_SIGNATURE = 0x80,
|
||||
DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
|
||||
DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
|
||||
ROOT_SIGNATURE_FLAGS :: distinct bit_set[ROOT_SIGNATURE_FLAG; u32]
|
||||
ROOT_SIGNATURE_FLAG :: enum u32 {
|
||||
ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0,
|
||||
DENY_VERTEX_SHADER_ROOT_ACCESS = 1,
|
||||
DENY_HULL_SHADER_ROOT_ACCESS = 2,
|
||||
DENY_DOMAIN_SHADER_ROOT_ACCESS = 3,
|
||||
DENY_GEOMETRY_SHADER_ROOT_ACCESS = 4,
|
||||
DENY_PIXEL_SHADER_ROOT_ACCESS = 5,
|
||||
ALLOW_STREAM_OUTPUT = 6,
|
||||
LOCAL_ROOT_SIGNATURE = 7,
|
||||
DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 8,
|
||||
DENY_MESH_SHADER_ROOT_ACCESS = 9,
|
||||
}
|
||||
|
||||
STATIC_BORDER_COLOR :: enum i32 {
|
||||
@@ -2003,13 +2024,13 @@ ROOT_SIGNATURE_DESC :: struct {
|
||||
Flags: ROOT_SIGNATURE_FLAGS,
|
||||
}
|
||||
|
||||
DESCRIPTOR_RANGE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
DESCRIPTORS_VOLATILE = 0x1,
|
||||
DATA_VOLATILE = 0x2,
|
||||
DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
|
||||
DATA_STATIC = 0x8,
|
||||
DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000,
|
||||
DESCRIPTOR_RANGE_FLAGS :: distinct bit_set[DESCRIPTOR_RANGE_FLAG; u32]
|
||||
DESCRIPTOR_RANGE_FLAG :: enum u32 {
|
||||
DESCRIPTORS_VOLATILE = 0,
|
||||
DATA_VOLATILE = 1,
|
||||
DATA_STATIC_WHILE_SET_AT_EXECUTE = 2,
|
||||
DATA_STATIC = 3,
|
||||
DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 16,
|
||||
}
|
||||
|
||||
DESCRIPTOR_RANGE1 :: struct {
|
||||
@@ -2026,11 +2047,11 @@ ROOT_DESCRIPTOR_TABLE1 :: struct {
|
||||
pDescriptorRanges: ^DESCRIPTOR_RANGE1,
|
||||
}
|
||||
|
||||
ROOT_DESCRIPTOR_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
DATA_VOLATILE = 0x2,
|
||||
DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
|
||||
DATA_STATIC = 0x8,
|
||||
ROOT_DESCRIPTOR_FLAGS :: distinct bit_set[ROOT_DESCRIPTOR_FLAG; u32]
|
||||
ROOT_DESCRIPTOR_FLAG :: enum u32 {
|
||||
DATA_VOLATILE = 2,
|
||||
DATA_STATIC_WHILE_SET_AT_EXECUTE = 3,
|
||||
DATA_STATIC = 4,
|
||||
}
|
||||
|
||||
ROOT_DESCRIPTOR1 :: struct {
|
||||
@@ -2571,11 +2592,13 @@ IPipelineLibrary1_VTable :: struct {
|
||||
LoadPipeline: proc "stdcall" (this: ^IPipelineLibrary1, pName: [^]u16, pDesc: ^PIPELINE_STATE_STREAM_DESC, riid: ^IID, ppPipelineState: ^rawptr) -> HRESULT,
|
||||
}
|
||||
|
||||
MULTIPLE_FENCE_WAIT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
ANY = 0x1,
|
||||
ALL = 0x0,
|
||||
MULTIPLE_FENCE_WAIT_FLAGS :: distinct bit_set[MULTIPLE_FENCE_WAIT_FLAG; u32]
|
||||
MULTIPLE_FENCE_WAIT_FLAG :: enum u32 {
|
||||
ANY = 0,
|
||||
}
|
||||
MULTIPLE_FENCE_WAIT_FLAG_NONE :: MULTIPLE_FENCE_WAIT_FLAGS{}
|
||||
MULTIPLE_FENCE_WAIT_FLAG_ANY :: MULTIPLE_FENCE_WAIT_FLAGS{.ANY}
|
||||
MULTIPLE_FENCE_WAIT_FLAG_ALL :: MULTIPLE_FENCE_WAIT_FLAGS{}
|
||||
|
||||
RESIDENCY_PRIORITY :: enum i32 {
|
||||
MINIMUM = 671088640,
|
||||
@@ -2611,9 +2634,9 @@ IDevice2_VTable :: struct {
|
||||
CreatePipelineState: proc "stdcall" (this: ^IDevice2, pDesc: ^PIPELINE_STATE_STREAM_DESC, riid: ^IID, ppPipelineState: ^rawptr) -> HRESULT,
|
||||
}
|
||||
|
||||
RESIDENCY_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
DENY_OVERBUDGET = 0x1,
|
||||
RESIDENCY_FLAGS :: distinct bit_set[RESIDENCY_FLAG; u32]
|
||||
RESIDENCY_FLAG :: enum u32 {
|
||||
DENY_OVERBUDGET = 0,
|
||||
}
|
||||
|
||||
|
||||
@@ -2630,16 +2653,16 @@ IDevice3_VTable :: struct {
|
||||
EnqueueMakeResident: proc "stdcall" (this: ^IDevice3, Flags: RESIDENCY_FLAGS, NumObjects: u32, ppObjects: ^^IPageable, pFenceToSignal: ^IFence, FenceValueToSignal: u64) -> HRESULT,
|
||||
}
|
||||
|
||||
COMMAND_LIST_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
COMMAND_LIST_FLAG_NONE = 0x0,
|
||||
COMMAND_LIST_FLAGS :: distinct bit_set[COMMAND_LIST_FLAG; u32]
|
||||
COMMAND_LIST_FLAG :: enum u32 {
|
||||
}
|
||||
|
||||
COMMAND_POOL_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
COMMAND_POOL_FLAG_NONE = 0x0,
|
||||
COMMAND_POOL_FLAGS :: distinct bit_set[COMMAND_POOL_FLAG; u32]
|
||||
COMMAND_POOL_FLAG :: enum u32 {
|
||||
}
|
||||
|
||||
COMMAND_RECORDER_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
COMMAND_RECORDER_FLAG_NONE = 0x0,
|
||||
COMMAND_RECORDER_FLAGS :: distinct bit_set[COMMAND_RECORDER_FLAG; u32]
|
||||
COMMAND_RECORDER_FLAG :: enum u32 {
|
||||
}
|
||||
|
||||
PROTECTED_SESSION_STATUS :: enum i32 {
|
||||
@@ -2660,9 +2683,9 @@ IProtectedSession_VTable :: struct {
|
||||
GetSessionStatus: proc "stdcall" (this: ^IProtectedSession) -> PROTECTED_SESSION_STATUS,
|
||||
}
|
||||
|
||||
PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
SUPPORTED = 0x1,
|
||||
PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS :: distinct bit_set[PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG; u32]
|
||||
PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG :: enum u32 {
|
||||
SUPPORTED = 0,
|
||||
}
|
||||
|
||||
FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT :: struct {
|
||||
@@ -2670,8 +2693,8 @@ FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT :: struct {
|
||||
Support: PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS,
|
||||
}
|
||||
|
||||
PROTECTED_RESOURCE_SESSION_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0x0,
|
||||
PROTECTED_RESOURCE_SESSION_FLAGS :: distinct bit_set[PROTECTED_RESOURCE_SESSION_FLAG; u32]
|
||||
PROTECTED_RESOURCE_SESSION_FLAG :: enum u32 {
|
||||
}
|
||||
|
||||
PROTECTED_RESOURCE_SESSION_DESC :: struct {
|
||||
@@ -2760,9 +2783,10 @@ META_COMMAND_PARAMETER_TYPE :: enum i32 {
|
||||
GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 4,
|
||||
}
|
||||
|
||||
META_COMMAND_PARAMETER_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
INPUT = 0x1,
|
||||
OUTPUT = 0x2,
|
||||
META_COMMAND_PARAMETER_FLAGS :: distinct bit_set[META_COMMAND_PARAMETER_FLAG; u32]
|
||||
META_COMMAND_PARAMETER_FLAG :: enum u32 {
|
||||
INPUT = 0,
|
||||
OUTPUT = 1,
|
||||
}
|
||||
|
||||
META_COMMAND_PARAMETER_STAGE :: enum i32 {
|
||||
@@ -2850,11 +2874,11 @@ STATE_SUBOBJECT :: struct {
|
||||
pDesc: rawptr,
|
||||
}
|
||||
|
||||
STATE_OBJECT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1,
|
||||
ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2,
|
||||
ALLOW_STATE_OBJECT_ADDITIONS = 0x4,
|
||||
STATE_OBJECT_FLAGS :: distinct bit_set[STATE_OBJECT_FLAG; u32]
|
||||
STATE_OBJECT_FLAG :: enum u32 {
|
||||
ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0,
|
||||
ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 1,
|
||||
ALLOW_STATE_OBJECT_ADDITIONS = 2,
|
||||
}
|
||||
|
||||
STATE_OBJECT_CONFIG :: struct {
|
||||
@@ -2873,8 +2897,8 @@ NODE_MASK :: struct {
|
||||
NodeMask: u32,
|
||||
}
|
||||
|
||||
EXPORT_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
EXPORT_FLAG_NONE = 0x0,
|
||||
EXPORT_FLAGS :: distinct bit_set[EXPORT_FLAG; u32]
|
||||
EXPORT_FLAG :: enum u32 {
|
||||
}
|
||||
|
||||
EXPORT_DESC :: struct {
|
||||
@@ -2929,10 +2953,10 @@ RAYTRACING_PIPELINE_CONFIG :: struct {
|
||||
MaxTraceRecursionDepth: u32,
|
||||
}
|
||||
|
||||
RAYTRACING_PIPELINE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
SKIP_TRIANGLES = 0x100,
|
||||
SKIP_PROCEDURAL_PRIMITIVES = 0x200,
|
||||
RAYTRACING_PIPELINE_FLAGS :: distinct bit_set[RAYTRACING_PIPELINE_FLAG; u32]
|
||||
RAYTRACING_PIPELINE_FLAG :: enum u32 {
|
||||
SKIP_TRIANGLES = 8,
|
||||
SKIP_PROCEDURAL_PRIMITIVES = 9,
|
||||
}
|
||||
|
||||
RAYTRACING_PIPELINE_CONFIG1 :: struct {
|
||||
@@ -2951,10 +2975,10 @@ STATE_OBJECT_DESC :: struct {
|
||||
pSubobjects: ^STATE_SUBOBJECT,
|
||||
}
|
||||
|
||||
RAYTRACING_GEOMETRY_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
OPAQUE = 0x1,
|
||||
NO_DUPLICATE_ANYHIT_INVOCATION = 0x2,
|
||||
RAYTRACING_GEOMETRY_FLAGS :: distinct bit_set[RAYTRACING_GEOMETRY_FLAG; u32]
|
||||
RAYTRACING_GEOMETRY_FLAG :: enum u32 {
|
||||
OPAQUE = 0,
|
||||
NO_DUPLICATE_ANYHIT_INVOCATION = 1,
|
||||
}
|
||||
|
||||
RAYTRACING_GEOMETRY_TYPE :: enum i32 {
|
||||
@@ -2962,12 +2986,12 @@ RAYTRACING_GEOMETRY_TYPE :: enum i32 {
|
||||
PROCEDURAL_PRIMITIVE_AABBS = 1,
|
||||
}
|
||||
|
||||
RAYTRACING_INSTANCE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
TRIANGLE_CULL_DISABLE = 0x1,
|
||||
TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2,
|
||||
FORCE_OPAQUE = 0x4,
|
||||
FORCE_NON_OPAQUE = 0x8,
|
||||
RAYTRACING_INSTANCE_FLAGS :: distinct bit_set[RAYTRACING_INSTANCE_FLAG; u32]
|
||||
RAYTRACING_INSTANCE_FLAG :: enum u32 {
|
||||
TRIANGLE_CULL_DISABLE = 0,
|
||||
TRIANGLE_FRONT_COUNTERCLOCKWISE = 1,
|
||||
FORCE_OPAQUE = 2,
|
||||
FORCE_NON_OPAQUE = 3,
|
||||
}
|
||||
|
||||
GPU_VIRTUAL_ADDRESS_AND_STRIDE :: struct {
|
||||
@@ -3010,14 +3034,14 @@ RAYTRACING_GEOMETRY_AABBS_DESC :: struct {
|
||||
AABBs: GPU_VIRTUAL_ADDRESS_AND_STRIDE,
|
||||
}
|
||||
|
||||
RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
ALLOW_UPDATE = 0x1,
|
||||
ALLOW_COMPACTION = 0x2,
|
||||
PREFER_FAST_TRACE = 0x4,
|
||||
PREFER_FAST_BUILD = 0x8,
|
||||
MINIMIZE_MEMORY = 0x10,
|
||||
PERFORM_UPDATE = 0x20,
|
||||
RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS :: distinct bit_set[RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG; u32]
|
||||
RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG :: enum u32 {
|
||||
ALLOW_UPDATE = 0,
|
||||
ALLOW_COMPACTION = 1,
|
||||
PREFER_FAST_TRACE = 2,
|
||||
PREFER_FAST_BUILD = 3,
|
||||
MINIMIZE_MEMORY = 4,
|
||||
PERFORM_UPDATE = 5,
|
||||
}
|
||||
|
||||
RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE :: enum i32 {
|
||||
@@ -3137,18 +3161,18 @@ RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO :: struct {
|
||||
UpdateScratchDataSizeInBytes: u64,
|
||||
}
|
||||
|
||||
RAY_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
FORCE_OPAQUE = 0x1,
|
||||
FORCE_NON_OPAQUE = 0x2,
|
||||
ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4,
|
||||
SKIP_CLOSEST_HIT_SHADER = 0x8,
|
||||
CULL_BACK_FACING_TRIANGLES = 0x10,
|
||||
CULL_FRONT_FACING_TRIANGLES = 0x20,
|
||||
CULL_OPAQUE = 0x40,
|
||||
CULL_NON_OPAQUE = 0x80,
|
||||
SKIP_TRIANGLES = 0x100,
|
||||
SKIP_PROCEDURAL_PRIMITIVES = 0x200,
|
||||
RAY_FLAGS :: distinct bit_set[RAY_FLAG; u32]
|
||||
RAY_FLAG :: enum u32 {
|
||||
FORCE_OPAQUE = 0,
|
||||
FORCE_NON_OPAQUE = 1,
|
||||
ACCEPT_FIRST_HIT_AND_END_SEARCH = 2,
|
||||
SKIP_CLOSEST_HIT_SHADER = 3,
|
||||
CULL_BACK_FACING_TRIANGLES = 4,
|
||||
CULL_FRONT_FACING_TRIANGLES = 5,
|
||||
CULL_OPAQUE = 6,
|
||||
CULL_NON_OPAQUE = 7,
|
||||
SKIP_TRIANGLES = 8,
|
||||
SKIP_PROCEDURAL_PRIMITIVES = 9,
|
||||
}
|
||||
|
||||
HIT_KIND :: enum i32 {
|
||||
@@ -3260,10 +3284,10 @@ DRED_VERSION :: enum i32 {
|
||||
_1_2 = 3,
|
||||
}
|
||||
|
||||
DRED_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
FORCE_ENABLE = 0x1,
|
||||
DISABLE_AUTOBREADCRUMBS = 0x2,
|
||||
DRED_FLAGS :: distinct bit_set[DRED_FLAG; u32]
|
||||
DRED_FLAG :: enum u32 {
|
||||
FORCE_ENABLE = 0,
|
||||
DISABLE_AUTOBREADCRUMBS = 1,
|
||||
}
|
||||
|
||||
DRED_ENABLEMENT :: enum i32 {
|
||||
@@ -3611,11 +3635,11 @@ RENDER_PASS_DEPTH_STENCIL_DESC :: struct {
|
||||
StencilEndingAccess: RENDER_PASS_ENDING_ACCESS,
|
||||
}
|
||||
|
||||
RENDER_PASS_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
ALLOW_UAV_WRITES = 0x1,
|
||||
SUSPENDING_PASS = 0x2,
|
||||
RESUMING_PASS = 0x4,
|
||||
RENDER_PASS_FLAGS :: distinct bit_set[RENDER_PASS_FLAG; u32]
|
||||
RENDER_PASS_FLAG :: enum u32 {
|
||||
ALLOW_UAV_WRITES = 0,
|
||||
SUSPENDING_PASS = 1,
|
||||
RESUMING_PASS = 2,
|
||||
}
|
||||
|
||||
|
||||
@@ -3697,9 +3721,9 @@ IDebug_VTable :: struct {
|
||||
EnableDebugLayer: proc "stdcall" (this: ^IDebug),
|
||||
}
|
||||
|
||||
GPU_BASED_VALIDATION_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
DISABLE_STATE_TRACKING = 0x1,
|
||||
GPU_BASED_VALIDATION_FLAGS :: distinct bit_set[GPU_BASED_VALIDATION_FLAG; u32]
|
||||
GPU_BASED_VALIDATION_FLAG :: enum u32 {
|
||||
DISABLE_STATE_TRACKING = 0,
|
||||
}
|
||||
|
||||
|
||||
@@ -3741,11 +3765,11 @@ IDebug3_VTable :: struct {
|
||||
SetGPUBasedValidationFlags: proc "stdcall" (this: ^IDebug3, Flags: GPU_BASED_VALIDATION_FLAGS),
|
||||
}
|
||||
|
||||
RLDO_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
NONE = 0x0,
|
||||
SUMMARY = 0x1,
|
||||
DETAIL = 0x2,
|
||||
IGNORE_INTERNAL = 0x4,
|
||||
RLDO_FLAGS :: distinct bit_set[RLDO_FLAG; u32]
|
||||
RLDO_FLAG :: enum u32 {
|
||||
SUMMARY = 0,
|
||||
DETAIL = 1,
|
||||
IGNORE_INTERNAL = 2,
|
||||
}
|
||||
|
||||
DEBUG_DEVICE_PARAMETER_TYPE :: enum i32 {
|
||||
@@ -3754,12 +3778,12 @@ DEBUG_DEVICE_PARAMETER_TYPE :: enum i32 {
|
||||
GPU_SLOWDOWN_PERFORMANCE_FACTOR = 2,
|
||||
}
|
||||
|
||||
DEBUG_FEATURE :: enum i32 { // TODO: make bit_set
|
||||
NONE = 0,
|
||||
ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 1,
|
||||
CONSERVATIVE_RESOURCE_STATE_TRACKING = 2,
|
||||
DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 4,
|
||||
EMULATE_WINDOWS7 = 8,
|
||||
DEBUG_FEATURE :: distinct bit_set[DEBUG_FEATURE_FLAG; u32]
|
||||
DEBUG_FEATURE_FLAG :: enum i32 {
|
||||
ALLOW_BEHAVIOR_CHANGING_DEBUG_AIDS = 0,
|
||||
CONSERVATIVE_RESOURCE_STATE_TRACKING = 1,
|
||||
DISABLE_VIRTUALIZED_BUNDLES_VALIDATION = 2,
|
||||
EMULATE_WINDOWS7 = 3,
|
||||
}
|
||||
|
||||
GPU_BASED_VALIDATION_SHADER_PATCH_MODE :: enum i32 {
|
||||
@@ -3770,12 +3794,16 @@ GPU_BASED_VALIDATION_SHADER_PATCH_MODE :: enum i32 {
|
||||
NUM_GPU_BASED_VALIDATION_SHADER_PATCH_MODES = 4,
|
||||
}
|
||||
|
||||
GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS :: enum u32 { // TODO: make bit_set
|
||||
GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE = 0x0,
|
||||
GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0x1,
|
||||
GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 0x2,
|
||||
GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 0x4,
|
||||
VALID_MASK = 0x7,
|
||||
GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS :: distinct bit_set[GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG; u32]
|
||||
GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG :: enum u32 {
|
||||
FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS = 0,
|
||||
FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS = 1,
|
||||
FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS = 2,
|
||||
}
|
||||
GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_VALID_MASK :: GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS{
|
||||
.FRONT_LOAD_CREATE_TRACKING_ONLY_SHADERS,
|
||||
.FRONT_LOAD_CREATE_UNGUARDED_VALIDATION_SHADERS,
|
||||
.FRONT_LOAD_CREATE_GUARDED_VALIDATION_SHADERS,
|
||||
}
|
||||
|
||||
DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS :: struct {
|
||||
|
||||
+49
-42
@@ -45,50 +45,57 @@ foreign d3dcompiler {
|
||||
|
||||
|
||||
|
||||
D3DCOMPILE :: enum u32 { // TODO: make bit_field
|
||||
DEBUG = 1 << 0,
|
||||
SKIP_VALIDATION = 1 << 1,
|
||||
SKIP_OPTIMIZATION = 1 << 2,
|
||||
PACK_MATRIX_ROW_MAJOR = 1 << 3,
|
||||
PACK_MATRIX_COLUMN_MAJOR = 1 << 4,
|
||||
PARTIAL_PRECISION = 1 << 5,
|
||||
FORCE_VS_SOFTWARE_NO_OPT = 1 << 6,
|
||||
FORCE_PS_SOFTWARE_NO_OPT = 1 << 7,
|
||||
NO_PRESHADER = 1 << 8,
|
||||
AVOID_FLOW_CONTROL = 1 << 9,
|
||||
PREFER_FLOW_CONTROL = 1 << 10,
|
||||
ENABLE_STRICTNESS = 1 << 11,
|
||||
ENABLE_BACKWARDS_COMPATIBILITY = 1 << 12,
|
||||
IEEE_STRICTNESS = 1 << 13,
|
||||
OPTIMIZATION_LEVEL0 = 1 << 14,
|
||||
OPTIMIZATION_LEVEL1 = 0,
|
||||
OPTIMIZATION_LEVEL2 = (1 << 14)|(1 << 15), // Added manually
|
||||
OPTIMIZATION_LEVEL3 = 1 << 15,
|
||||
RESERVED16 = 1 << 16,
|
||||
RESERVED17 = 1 << 17,
|
||||
WARNINGS_ARE_ERRORS = 1 << 18,
|
||||
RESOURCES_MAY_ALIAS = 1 << 19,
|
||||
ENABLE_UNBOUNDED_DESCRIPTOR_TABLES = 1 << 20,
|
||||
ALL_RESOURCES_BOUND = 1 << 21,
|
||||
DEBUG_NAME_FOR_SOURCE = 1 << 22,
|
||||
DEBUG_NAME_FOR_BINARY = 1 << 23,
|
||||
D3DCOMPILE :: distinct bit_set[D3DCOMPILE_FLAG; u32]
|
||||
D3DCOMPILE_FLAG :: enum u32 {
|
||||
DEBUG = 0,
|
||||
SKIP_VALIDATION = 1,
|
||||
SKIP_OPTIMIZATION = 2,
|
||||
PACK_MATRIX_ROW_MAJOR = 3,
|
||||
PACK_MATRIX_COLUMN_MAJOR = 4,
|
||||
PARTIAL_PRECISION = 5,
|
||||
FORCE_VS_SOFTWARE_NO_OPT = 6,
|
||||
FORCE_PS_SOFTWARE_NO_OPT = 7,
|
||||
NO_PRESHADER = 8,
|
||||
AVOID_FLOW_CONTROL = 9,
|
||||
PREFER_FLOW_CONTROL = 10,
|
||||
ENABLE_STRICTNESS = 11,
|
||||
ENABLE_BACKWARDS_COMPATIBILITY = 12,
|
||||
IEEE_STRICTNESS = 13,
|
||||
OPTIMIZATION_LEVEL0 = 14,
|
||||
OPTIMIZATION_LEVEL3 = 15,
|
||||
RESERVED16 = 16,
|
||||
RESERVED17 = 17,
|
||||
WARNINGS_ARE_ERRORS = 18,
|
||||
RESOURCES_MAY_ALIAS = 19,
|
||||
ENABLE_UNBOUNDED_DESCRIPTOR_TABLES = 20,
|
||||
ALL_RESOURCES_BOUND = 21,
|
||||
DEBUG_NAME_FOR_SOURCE = 22,
|
||||
DEBUG_NAME_FOR_BINARY = 23,
|
||||
}
|
||||
|
||||
EFFECT :: enum u32 { // TODO: make bit_field
|
||||
CHILD_EFFECT = 1 << 0,
|
||||
ALLOW_SLOW_OPS = 1 << 1,
|
||||
D3DCOMPILE_OPTIMIZATION_LEVEL0 :: D3DCOMPILE{.OPTIMIZATION_LEVEL0}
|
||||
D3DCOMPILE_OPTIMIZATION_LEVEL1 :: D3DCOMPILE{}
|
||||
D3DCOMPILE_OPTIMIZATION_LEVEL2 :: D3DCOMPILE{.IEEE_STRICTNESS, .OPTIMIZATION_LEVEL3}
|
||||
D3DCOMPILE_OPTIMIZATION_LEVEL3 :: D3DCOMPILE{.OPTIMIZATION_LEVEL3}
|
||||
|
||||
|
||||
EFFECT :: distinct bit_set[EFFECT_FLAG; u32]
|
||||
EFFECT_FLAG :: enum u32 {
|
||||
CHILD_EFFECT = 0,
|
||||
ALLOW_SLOW_OPS = 1,
|
||||
}
|
||||
|
||||
FLAGS2 :: enum u32 { // TODO: make bit_field
|
||||
FLAGS2 :: enum u32 {
|
||||
FORCE_ROOT_SIGNATURE_LATEST = 0,
|
||||
FORCE_ROOT_SIGNATURE_1_0 = 1 << 4,
|
||||
FORCE_ROOT_SIGNATURE_1_1 = 1 << 5,
|
||||
}
|
||||
|
||||
SECDATA :: enum u32 { // TODO: make bit_field
|
||||
MERGE_UAV_SLOTS = 0x00000001,
|
||||
PRESERVE_TEMPLATE_SLOTS = 0x00000002,
|
||||
REQUIRE_TEMPLATE_MATCH = 0x00000004,
|
||||
SECDATA :: distinct bit_set[SECDATA_FLAG; u32]
|
||||
SECDATA_FLAG :: enum u32 {
|
||||
MERGE_UAV_SLOTS = 0,
|
||||
PRESERVE_TEMPLATE_SLOTS = 1,
|
||||
REQUIRE_TEMPLATE_MATCH = 2,
|
||||
}
|
||||
|
||||
DISASM_ENABLE_COLOR_CODE :: 0x00000001
|
||||
@@ -188,13 +195,13 @@ pD3DCompile :: #type proc "c" (a0: rawptr, a1: SIZE_T, a2: cstring, a3: ^SHA
|
||||
pD3DPreprocess :: #type proc "c" (a0: rawptr, a1: SIZE_T, a2: cstring, a3: ^SHADER_MACRO, a4: ^ID3DInclude, a5: ^^ID3DBlob, a6: ^^ID3DBlob) -> HRESULT
|
||||
pD3DDisassemble :: #type proc "c" (a0: rawptr, a1: SIZE_T, a2: u32, a3: cstring, a4: ^^ID3DBlob) -> HRESULT
|
||||
|
||||
D3DCOMPILER_STRIP_FLAGS :: enum u32 { // TODO: make bit_field
|
||||
REFLECTION_DATA = 0x1,
|
||||
DEBUG_INFO = 0x2,
|
||||
TEST_BLOBS = 0x4,
|
||||
PRIVATE_DATA = 0x8,
|
||||
ROOT_SIGNATURE = 0x10,
|
||||
FORCE_DWORD = 0x7fffffff,
|
||||
D3DCOMPILER_STRIP_FLAGS :: distinct bit_set[D3DCOMPILER_STRIP_FLAG; u32]
|
||||
D3DCOMPILER_STRIP_FLAG :: enum u32 {
|
||||
REFLECTION_DATA = 0,
|
||||
DEBUG_INFO = 1,
|
||||
TEST_BLOBS = 2,
|
||||
PRIVATE_DATA = 3,
|
||||
ROOT_SIGNATURE = 4,
|
||||
}
|
||||
|
||||
BLOB_PART :: enum i32 {
|
||||
|
||||
Vendored
+38
-29
@@ -57,14 +57,15 @@ CPU_ACCESS :: enum u32 {
|
||||
FIELD = 15,
|
||||
}
|
||||
|
||||
USAGE :: enum u32 { // TODO: convert to bit_set
|
||||
SHADER_INPUT = 0x00000010,
|
||||
RENDER_TARGET_OUTPUT = 0x00000020,
|
||||
BACK_BUFFER = 0x00000040,
|
||||
SHARED = 0x00000080,
|
||||
READ_ONLY = 0x00000100,
|
||||
DISCARD_ON_PRESENT = 0x00000200,
|
||||
UNORDERED_ACCESS = 0x00000400,
|
||||
USAGE :: distinct bit_set[USAGE_FLAG; u32]
|
||||
USAGE_FLAG :: enum u32 {
|
||||
SHADER_INPUT = 4,
|
||||
RENDER_TARGET_OUTPUT = 5,
|
||||
BACK_BUFFER = 6,
|
||||
SHARED = 7,
|
||||
READ_ONLY = 8,
|
||||
DISCARD_ON_PRESENT = 9,
|
||||
UNORDERED_ACCESS = 10,
|
||||
}
|
||||
|
||||
RESOURCE_PRIORITY :: enum u32 {
|
||||
@@ -75,37 +76,45 @@ RESOURCE_PRIORITY :: enum u32 {
|
||||
MAXIMUM = 0xc8000000,
|
||||
}
|
||||
|
||||
MAP :: enum u32 { // TODO: convert to bit_set
|
||||
MAP :: enum u32 {
|
||||
READ = 1,
|
||||
WRITE = 2,
|
||||
DISCARD = 4,
|
||||
}
|
||||
|
||||
ENUM_MODES :: enum u32 { // TODO: convert to bit_set
|
||||
INTERLACED = 1,
|
||||
SCALING = 2,
|
||||
STEREO = 4,
|
||||
DISABLED_STEREO = 8,
|
||||
ENUM_MODES :: distinct bit_set[ENUM_MODE; u32]
|
||||
ENUM_MODE :: enum u32 {
|
||||
INTERLACED = 0,
|
||||
SCALING = 1,
|
||||
STEREO = 2,
|
||||
DISABLED_STEREO = 3,
|
||||
}
|
||||
|
||||
MAX_SWAP_CHAIN_BUFFERS :: 16
|
||||
PRESENT :: enum u32 { // TODO: convert to bit_set
|
||||
TEST = 0x00000001,
|
||||
DO_NOT_SEQUENCE = 0x00000002,
|
||||
RESTART = 0x00000004,
|
||||
DO_NOT_WAIT = 0x00000008,
|
||||
STEREO_PREFER_RIGHT = 0x00000010,
|
||||
STEREO_TEMPORARY_MONO = 0x00000020,
|
||||
RESTRICT_TO_OUTPUT = 0x00000040,
|
||||
USE_DURATION = 0x00000100,
|
||||
ALLOW_TEARING = 0x00000200,
|
||||
PRESENT :: distinct bit_set[PRESENT_FLAG; u32]
|
||||
PRESENT_FLAG :: enum u32 {
|
||||
TEST = 0,
|
||||
DO_NOT_SEQUENCE = 1,
|
||||
RESTART = 2,
|
||||
DO_NOT_WAIT = 3,
|
||||
STEREO_PREFER_RIGHT = 4,
|
||||
STEREO_TEMPORARY_MONO = 5,
|
||||
RESTRICT_TO_OUTPUT = 6,
|
||||
|
||||
USE_DURATION = 8,
|
||||
ALLOW_TEARING = 9,
|
||||
}
|
||||
|
||||
MWA :: enum u32 { // TODO: convert to bit_set
|
||||
NO_WINDOW_CHANGES = 1 << 0,
|
||||
NO_ALT_ENTER = 1 << 1,
|
||||
NO_PRINT_SCREEN = 1 << 2,
|
||||
VALID = 0x7,
|
||||
MWA :: distinct bit_set[MWA_FLAG; u32]
|
||||
MWA_FLAG :: enum u32 {
|
||||
NO_WINDOW_CHANGES = 0,
|
||||
NO_ALT_ENTER = 1,
|
||||
NO_PRINT_SCREEN = 2,
|
||||
}
|
||||
MWA_VALID :: MWA{
|
||||
.NO_WINDOW_CHANGES,
|
||||
.NO_ALT_ENTER,
|
||||
.NO_PRINT_SCREEN,
|
||||
}
|
||||
|
||||
SHARED_RESOURCE_READ :: 0x80000000
|
||||
|
||||
Vendored
+1
@@ -110,6 +110,7 @@ foreign glfw {
|
||||
WaitEventsTimeout :: proc(timeout: f64) ---
|
||||
PostEmptyEvent :: proc() ---
|
||||
|
||||
RawMouseMotionSupported :: proc() -> b32 ---
|
||||
GetInputMode :: proc(window: WindowHandle, mode: c.int) -> c.int ---
|
||||
SetInputMode :: proc(window: WindowHandle, mode, value: c.int) ---
|
||||
|
||||
|
||||
Vendored
+3
@@ -339,6 +339,9 @@ CURSOR_NORMAL :: 0x00034001
|
||||
CURSOR_HIDDEN :: 0x00034002
|
||||
CURSOR_DISABLED :: 0x00034003
|
||||
|
||||
/* Mouse motion */
|
||||
RAW_MOUSE_MOTION :: 0x00033005
|
||||
|
||||
/* Behavior? */
|
||||
ANY_RELEASE_BEHAVIOR :: 0
|
||||
RELEASE_BEHAVIOR_FLUSH :: 0x00035001
|
||||
|
||||
Vendored
-33
@@ -1,33 +0,0 @@
|
||||
package glfw
|
||||
|
||||
when ODIN_OS == .Windows {
|
||||
import win32 "core:sys/windows"
|
||||
|
||||
foreign import glfw { "lib/glfw3_mt.lib", "system:user32.lib", "system:gdi32.lib", "system:shell32.lib" }
|
||||
|
||||
@(default_calling_convention="c", link_prefix="glfw")
|
||||
foreign glfw {
|
||||
GetWin32Adapter :: proc(monitor: MonitorHandle) -> cstring ---
|
||||
GetWin32Monitor :: proc(monitor: MonitorHandle) -> cstring ---
|
||||
GetWin32Window :: proc(window: WindowHandle) -> win32.HWND ---
|
||||
GetWGLContext :: proc(window: WindowHandle) -> rawptr ---
|
||||
}
|
||||
} else when ODIN_OS == .Linux {
|
||||
// TODO: Native Linux
|
||||
// Display* glfwGetX11Display(void);
|
||||
// RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor);
|
||||
// RROutput glfwGetX11Monitor(GLFWmonitor* monitor);
|
||||
// Window glfwGetX11Window(GLFWwindow* window);
|
||||
// void glfwSetX11SelectionString(const char* string);
|
||||
// const char* glfwGetX11SelectionString(void);
|
||||
|
||||
// struct wl_display* glfwGetWaylandDisplay(void);
|
||||
// struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor);
|
||||
// struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window);
|
||||
} else when ODIN_OS == .Darwin {
|
||||
// TODO: Native Darwin
|
||||
// CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor);
|
||||
// id glfwGetCocoaWindow(GLFWwindow* window);
|
||||
// id glfwGetNSGLContext(GLFWwindow* window);
|
||||
}
|
||||
|
||||
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
//+build darwin
|
||||
|
||||
package glfw
|
||||
|
||||
import NS "vendor:darwin/foundation"
|
||||
|
||||
foreign import glfw { "lib/darwin/libglfw3.a" }
|
||||
|
||||
@(default_calling_convention="c", link_prefix="glfw")
|
||||
foreign glfw {
|
||||
GetCocoaWindow :: proc(window: WindowHandle) -> ^NS.Window ---
|
||||
}
|
||||
|
||||
// TODO:
|
||||
// CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor);
|
||||
// id glfwGetNSGLContext(GLFWwindow* window);
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
//+build linux
|
||||
|
||||
package glfw
|
||||
|
||||
// TODO: Native Linux
|
||||
// Display* glfwGetX11Display(void);
|
||||
// RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor);
|
||||
// RROutput glfwGetX11Monitor(GLFWmonitor* monitor);
|
||||
// Window glfwGetX11Window(GLFWwindow* window);
|
||||
// void glfwSetX11SelectionString(const char* string);
|
||||
// const char* glfwGetX11SelectionString(void);
|
||||
|
||||
// struct wl_display* glfwGetWaylandDisplay(void);
|
||||
// struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor);
|
||||
// struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window);
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
//+build windows
|
||||
|
||||
package glfw
|
||||
|
||||
import win32 "core:sys/windows"
|
||||
|
||||
foreign import glfw { "lib/glfw3_mt.lib", "system:user32.lib", "system:gdi32.lib", "system:shell32.lib" }
|
||||
|
||||
@(default_calling_convention="c", link_prefix="glfw")
|
||||
foreign glfw {
|
||||
GetWin32Adapter :: proc(monitor: MonitorHandle) -> cstring ---
|
||||
GetWin32Monitor :: proc(monitor: MonitorHandle) -> cstring ---
|
||||
GetWin32Window :: proc(window: WindowHandle) -> win32.HWND ---
|
||||
GetWGLContext :: proc(window: WindowHandle) -> rawptr ---
|
||||
}
|
||||
+1
-1
@@ -6,7 +6,7 @@ import c "core:c/libc"
|
||||
|
||||
when ODIN_OS == .Windows { foreign import lib "../lib/stb_rect_pack.lib" }
|
||||
when ODIN_OS == .Linux { foreign import lib "../lib/stb_rect_pack.a" }
|
||||
when ODIN_OS == .Darwin { foreign import lib "../lib/stb_rect_pack.a" }
|
||||
when ODIN_OS == .Darwin { foreign import lib "../lib/darwin/stb_rect_pack.a" }
|
||||
|
||||
Coord :: distinct c.int
|
||||
_MAXVAL :: max(Coord)
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ import stbrp "vendor:stb/rect_pack"
|
||||
|
||||
when ODIN_OS == .Windows { foreign import stbtt "../lib/stb_truetype.lib" }
|
||||
when ODIN_OS == .Linux { foreign import stbtt "../lib/stb_truetype.a" }
|
||||
when ODIN_OS == .Darwin { foreign import stbtt "../lib/stb_truetype.a" }
|
||||
when ODIN_OS == .Darwin { foreign import stbtt "../lib/darwin/stb_truetype.a" }
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Vendored
+1
-1
@@ -5,7 +5,7 @@ import c "core:c/libc"
|
||||
|
||||
when ODIN_OS == .Windows { foreign import lib "../lib/stb_vorbis.lib" }
|
||||
when ODIN_OS == .Linux { foreign import lib "../lib/stb_vorbis.a" }
|
||||
when ODIN_OS == .Darwin { foreign import lib "../lib/stb_vorbis.a" }
|
||||
when ODIN_OS == .Darwin { foreign import lib "../lib/darwin/stb_vorbis.a" }
|
||||
|
||||
|
||||
|
||||
|
||||
+7
-7
@@ -84,7 +84,7 @@ def convert_type(t, prev_name, curr_name):
|
||||
else:
|
||||
ttype = t[:len(t)-1]
|
||||
elem = convert_type(ttype, prev_name, curr_name)
|
||||
|
||||
|
||||
if curr_name.endswith("s") or curr_name.endswith("Table"):
|
||||
if prev_name.endswith("Count") or prev_name.endswith("Counts"):
|
||||
pointer = "[^]"
|
||||
@@ -95,10 +95,10 @@ def convert_type(t, prev_name, curr_name):
|
||||
pointer = "[^]"
|
||||
elif curr_name.startswith("p"):
|
||||
pointer = "[^]"
|
||||
|
||||
|
||||
if curr_name and elem.endswith("Flags"):
|
||||
pointer = "[^]"
|
||||
|
||||
|
||||
return "{}{}".format(pointer, elem)
|
||||
elif t[0].isupper():
|
||||
return t
|
||||
@@ -276,7 +276,7 @@ def parse_enums(f):
|
||||
f.write("// Enums\n")
|
||||
|
||||
data = re.findall(r"typedef enum Vk(\w+) {(.+?)} \w+;", src, re.S)
|
||||
|
||||
|
||||
data.sort(key=lambda x: x[0])
|
||||
|
||||
generated_flags = set()
|
||||
@@ -458,14 +458,14 @@ def parse_procedures(f):
|
||||
|
||||
for rt, name, fields in data:
|
||||
proc_name = no_vk(name)
|
||||
|
||||
|
||||
pf = []
|
||||
prev_name = ""
|
||||
for type_, fname in re.findall(r"(?:\s*|)(.+?)\s*(\w+)(?:,|$)", fields):
|
||||
curr_name = fix_arg(fname)
|
||||
pf.append((do_type(type_, prev_name, curr_name), curr_name))
|
||||
prev_name = curr_name
|
||||
|
||||
|
||||
data_fields = ', '.join(["{}: {}".format(n, t) for t, n in pf if t != ""])
|
||||
|
||||
ts = "proc \"c\" ({})".format(data_fields)
|
||||
@@ -510,7 +510,7 @@ def group_functions(f):
|
||||
|
||||
if table_name in ('Device', 'Queue', 'CommandBuffer') and name != 'GetDeviceProcAddr':
|
||||
group_map["Device"].append(nn)
|
||||
elif table_name in ('Instance', 'PhysicalDevice') or name == 'GetDeviceProcAddr':
|
||||
elif table_name in ('Instance', 'PhysicalDevice') and name != 'ProcGetInstanceProcAddr' or name == 'GetDeviceProcAddr':
|
||||
group_map["Instance"].append(nn)
|
||||
elif table_name in ('rawptr', '', 'DebugReportFlagsEXT') or name == 'GetInstanceProcAddr':
|
||||
# Skip the allocation function and the dll entry point
|
||||
|
||||
Vendored
+3
-3
@@ -533,6 +533,7 @@ DeviceMemoryReportCallbackEXT: ProcDeviceMemoryReportCallbackEXT
|
||||
EnumerateInstanceExtensionProperties: ProcEnumerateInstanceExtensionProperties
|
||||
EnumerateInstanceLayerProperties: ProcEnumerateInstanceLayerProperties
|
||||
EnumerateInstanceVersion: ProcEnumerateInstanceVersion
|
||||
GetInstanceProcAddr: ProcGetInstanceProcAddr
|
||||
|
||||
// Instance Procedures
|
||||
AcquireDrmDisplayEXT: ProcAcquireDrmDisplayEXT
|
||||
@@ -564,7 +565,6 @@ GetDisplayPlaneCapabilities2KHR: ProcGetDisplayP
|
||||
GetDisplayPlaneCapabilitiesKHR: ProcGetDisplayPlaneCapabilitiesKHR
|
||||
GetDisplayPlaneSupportedDisplaysKHR: ProcGetDisplayPlaneSupportedDisplaysKHR
|
||||
GetDrmDisplayEXT: ProcGetDrmDisplayEXT
|
||||
GetInstanceProcAddr: ProcGetInstanceProcAddr
|
||||
GetPhysicalDeviceCalibrateableTimeDomainsEXT: ProcGetPhysicalDeviceCalibrateableTimeDomainsEXT
|
||||
GetPhysicalDeviceCooperativeMatrixPropertiesNV: ProcGetPhysicalDeviceCooperativeMatrixPropertiesNV
|
||||
GetPhysicalDeviceDisplayPlaneProperties2KHR: ProcGetPhysicalDeviceDisplayPlaneProperties2KHR
|
||||
@@ -1045,6 +1045,7 @@ load_proc_addresses_custom :: proc(set_proc_address: SetProcAddressType) {
|
||||
set_proc_address(&EnumerateInstanceExtensionProperties, "vkEnumerateInstanceExtensionProperties")
|
||||
set_proc_address(&EnumerateInstanceLayerProperties, "vkEnumerateInstanceLayerProperties")
|
||||
set_proc_address(&EnumerateInstanceVersion, "vkEnumerateInstanceVersion")
|
||||
set_proc_address(&GetInstanceProcAddr, "vkGetInstanceProcAddr")
|
||||
|
||||
// Instance Procedures
|
||||
set_proc_address(&AcquireDrmDisplayEXT, "vkAcquireDrmDisplayEXT")
|
||||
@@ -1076,7 +1077,6 @@ load_proc_addresses_custom :: proc(set_proc_address: SetProcAddressType) {
|
||||
set_proc_address(&GetDisplayPlaneCapabilitiesKHR, "vkGetDisplayPlaneCapabilitiesKHR")
|
||||
set_proc_address(&GetDisplayPlaneSupportedDisplaysKHR, "vkGetDisplayPlaneSupportedDisplaysKHR")
|
||||
set_proc_address(&GetDrmDisplayEXT, "vkGetDrmDisplayEXT")
|
||||
set_proc_address(&GetInstanceProcAddr, "vkGetInstanceProcAddr")
|
||||
set_proc_address(&GetPhysicalDeviceCalibrateableTimeDomainsEXT, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")
|
||||
set_proc_address(&GetPhysicalDeviceCooperativeMatrixPropertiesNV, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")
|
||||
set_proc_address(&GetPhysicalDeviceDisplayPlaneProperties2KHR, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
|
||||
@@ -2839,7 +2839,6 @@ load_proc_addresses_instance :: proc(instance: Instance) {
|
||||
GetDisplayPlaneCapabilitiesKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR")
|
||||
GetDisplayPlaneSupportedDisplaysKHR = auto_cast GetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR")
|
||||
GetDrmDisplayEXT = auto_cast GetInstanceProcAddr(instance, "vkGetDrmDisplayEXT")
|
||||
GetInstanceProcAddr = auto_cast GetInstanceProcAddr(instance, "vkGetInstanceProcAddr")
|
||||
GetPhysicalDeviceCalibrateableTimeDomainsEXT = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")
|
||||
GetPhysicalDeviceCooperativeMatrixPropertiesNV = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")
|
||||
GetPhysicalDeviceDisplayPlaneProperties2KHR = auto_cast GetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
|
||||
@@ -3322,6 +3321,7 @@ load_proc_addresses_global :: proc(vk_get_instance_proc_addr: rawptr) {
|
||||
EnumerateInstanceExtensionProperties = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceExtensionProperties")
|
||||
EnumerateInstanceLayerProperties = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceLayerProperties")
|
||||
EnumerateInstanceVersion = auto_cast GetInstanceProcAddr(nil, "vkEnumerateInstanceVersion")
|
||||
GetInstanceProcAddr = auto_cast GetInstanceProcAddr(nil, "vkGetInstanceProcAddr")
|
||||
}
|
||||
|
||||
load_proc_addresses :: proc{
|
||||
|
||||
Reference in New Issue
Block a user