From f138f71fa6f391adea5c6aac6d5a02d63df4e6af Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 17 Feb 2022 13:14:21 +0000 Subject: [PATCH] Add UUID pointer values --- vendor/directx/d3d11/d3d11.odin | 147 +++++++++++------- vendor/directx/d3d_compiler/d3d_compiler.odin | 6 +- vendor/directx/dxgi/dxgi.odin | 105 ++++++++----- 3 files changed, 170 insertions(+), 88 deletions(-) diff --git a/vendor/directx/d3d11/d3d11.odin b/vendor/directx/d3d11/d3d11.odin index 668d8b9cb..b880d2e67 100644 --- a/vendor/directx/d3d11/d3d11.odin +++ b/vendor/directx/d3d11/d3d11.odin @@ -29,7 +29,7 @@ foreign d3d11 { pAdapter: ^dxgi.IAdapter, DriverType: DRIVER_TYPE, Software: HMODULE, - Flags: CREATE_DEVICE_FLAG, + Flags: CREATE_DEVICE_FLAGS, pFeatureLevels: ^FEATURE_LEVEL, FeatureLevels: u32, SDKVersion: u32, @@ -684,7 +684,8 @@ SRV_DIMENSION :: enum i32 { PFN_DESTRUCTION_CALLBACK :: #type proc "c" (a0: rawptr) -ID3DDestructionNotifier_UUID :: "A06EB39A-50DA-425B-8C31-4EECD6C270F3" +ID3DDestructionNotifier_UUID_STRING :: "A06EB39A-50DA-425B-8C31-4EECD6C270F3" +ID3DDestructionNotifier_UUID := &IID{0xA06EB39A, 0x50DA, 0x425B, {0x8C, 0x31, 0x4E, 0xEC, 0xD6, 0xC2, 0x70, 0xF3}} ID3DDestructionNotifier :: struct #raw_union { #subtype iunknown: IUnknown, using id3ddestructionnotifier_vtable: ^ID3DDestructionNotifier_VTable, @@ -1100,7 +1101,8 @@ CBOX :: struct { } -IDeviceChild_UUID :: "1841E5C8-16B0-489B-BCC8-44CFB0D5DEAE" +IDeviceChild_UUID_STRING :: "1841E5C8-16B0-489B-BCC8-44CFB0D5DEAE" +IDeviceChild_UUID := &IID{0x1841E5C8, 0x16B0, 0x489B, {0xBC, 0xC8, 0x44, 0xCF, 0xB0, 0xD5, 0xDE, 0xAE}} IDeviceChild :: struct #raw_union { #subtype iunknown: IUnknown, using id3d11devicechild_vtable: ^IDeviceChild_VTable, @@ -1164,7 +1166,8 @@ CDEPTH_STENCIL_DESC :: struct { } -IDepthStencilState_UUID :: "03823EFB-8D8F-4E1C-9AA2-F64BB2CBFDF1" +IDepthStencilState_UUID_STRING :: "03823EFB-8D8F-4E1C-9AA2-F64BB2CBFDF1" +IDepthStencilState_UUID := &IID{0x03823EFB, 0x8D8F, 0x4E1C, {0x9A, 0xA2, 0xF6, 0x4B, 0xB2, 0xCB, 0xFD, 0xF1}} IDepthStencilState :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11depthstencilstate_vtable: ^IDepthStencilState_VTable, @@ -1233,7 +1236,8 @@ CBLEND_DESC :: struct { } -IBlendState_UUID :: "75B68FAA-347D-4159-8F45-A0640F01CD9A" +IBlendState_UUID_STRING :: "75B68FAA-347D-4159-8F45-A0640F01CD9A" +IBlendState_UUID := &IID{0x75B68FAA, 0x347D, 0x4159, {0x8F, 0x45, 0xA0, 0x64, 0x0F, 0x01, 0xCD, 0x9A}} IBlendState :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11blendstate_vtable: ^IBlendState_VTable, @@ -1262,7 +1266,8 @@ CRASTERIZER_DESC :: struct { } -IRasterizerState_UUID :: "9BB4AB81-AB1A-4D8F-B506-FC04200B6EE7" +IRasterizerState_UUID_STRING :: "9BB4AB81-AB1A-4D8F-B506-FC04200B6EE7" +IRasterizerState_UUID := &IID{0x9BB4AB81, 0xAB1A, 0x4D8F, {0xB5, 0x06, 0xFC, 0x04, 0x20, 0x0B, 0x6E, 0xE7}} IRasterizerState :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11rasterizerstate_vtable: ^IRasterizerState_VTable, @@ -1286,7 +1291,8 @@ MAPPED_SUBRESOURCE :: struct { } -IResource_UUID :: "DC8E63F3-D12B-4952-B47B-5E45026A862D" +IResource_UUID_STRING :: "DC8E63F3-D12B-4952-B47B-5E45026A862D" +IResource_UUID := &IID{0xDC8E63F3, 0xD12B, 0x4952, {0xB4, 0x7B, 0x5E, 0x45, 0x02, 0x6A, 0x86, 0x2D}} IResource :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11resource_vtable: ^IResource_VTable, @@ -1313,7 +1319,8 @@ CBUFFER_DESC :: struct { } -IBuffer_UUID :: "48570B85-D1EE-4FCD-A250-EB350722B037" +IBuffer_UUID_STRING :: "48570B85-D1EE-4FCD-A250-EB350722B037" +IBuffer_UUID := &IID{0x48570B85, 0xD1EE, 0x4FCD, {0xA2, 0x50, 0xEB, 0x35, 0x07, 0x22, 0xB0, 0x37}} IBuffer :: struct #raw_union { #subtype id3d11resource: IResource, using id3d11buffer_vtable: ^IBuffer_VTable, @@ -1340,7 +1347,8 @@ CTEXTURE1D_DESC :: struct { } -ITexture1D_UUID :: "F8FB5C27-C6B3-4F75-A4C8-439AF2EF564C" +ITexture1D_UUID_STRING :: "F8FB5C27-C6B3-4F75-A4C8-439AF2EF564C" +ITexture1D_UUID := &IID{0xF8FB5C27, 0xC6B3, 0x4F75, {0xA4, 0xC8, 0x43, 0x9A, 0xF2, 0xEF, 0x56, 0x4C}} ITexture1D :: struct #raw_union { #subtype id3d11resource: IResource, using id3d11texture1d_vtable: ^ITexture1D_VTable, @@ -1369,7 +1377,8 @@ CTEXTURE2D_DESC :: struct { } -ITexture2D_UUID :: "6F15AAF2-D208-4E89-9AB4-489535D34F9C" +ITexture2D_UUID_STRING :: "6F15AAF2-D208-4E89-9AB4-489535D34F9C" +ITexture2D_UUID := &IID{0x6F15AAF2, 0xD208, 0x4E89, {0x9A, 0xB4, 0x48, 0x95, 0x35, 0xD3, 0x4F, 0x9C}} ITexture2D :: struct #raw_union { #subtype id3d11resource: IResource, using id3d11texture2d_vtable: ^ITexture2D_VTable, @@ -1397,7 +1406,8 @@ CTEXTURE3D_DESC :: struct { } -ITexture3D_UUID :: "037E866E-F56D-4357-A8AF-9DABBE6E250E" +ITexture3D_UUID_STRING :: "037E866E-F56D-4357-A8AF-9DABBE6E250E" +ITexture3D_UUID := &IID{0x037E866E, 0xF56D, 0x4357, {0xA8, 0xAF, 0x9D, 0xAB, 0xBE, 0x6E, 0x25, 0x0E}} ITexture3D :: struct #raw_union { #subtype id3d11resource: IResource, using id3d11texture3d_vtable: ^ITexture3D_VTable, @@ -1418,7 +1428,8 @@ TEXTURECUBE_FACE :: enum i32 { } -IView_UUID :: "839D1216-BB2E-412B-B7F4-A9DBEBE08ED1" +IView_UUID_STRING :: "839D1216-BB2E-412B-B7F4-A9DBEBE08ED1" +IView_UUID := &IID{0x839D1216, 0xBB2E, 0x412B, {0xB7, 0xF4, 0xA9, 0xDB, 0xEB, 0xE0, 0x8E, 0xD1}} IView :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11view_vtable: ^IView_VTable, @@ -1523,7 +1534,8 @@ CSHADER_RESOURCE_VIEW_DESC :: struct { } -IShaderResourceView_UUID :: "B0E06FE0-8192-4E1A-B1CA-36D7414710B2" +IShaderResourceView_UUID_STRING :: "B0E06FE0-8192-4E1A-B1CA-36D7414710B2" +IShaderResourceView_UUID := &IID{0xB0E06FE0, 0x8192, 0x4E1A, {0xB1, 0xCA, 0x36, 0xD7, 0x41, 0x47, 0x10, 0xB2}} IShaderResourceView :: struct #raw_union { #subtype id3d11view: IView, using id3d11shaderresourceview_vtable: ^IShaderResourceView_VTable, @@ -1600,7 +1612,8 @@ CRENDER_TARGET_VIEW_DESC :: struct { } -IRenderTargetView_UUID :: "DFDBA067-0B8D-4865-875B-D7B4516CC164" +IRenderTargetView_UUID_STRING :: "DFDBA067-0B8D-4865-875B-D7B4516CC164" +IRenderTargetView_UUID := &IID{0xDFDBA067, 0x0B8D, 0x4865, {0x87, 0x5B, 0xD7, 0xB4, 0x51, 0x6C, 0xC1, 0x64}} IRenderTargetView :: struct #raw_union { #subtype id3d11view: IView, using id3d11rendertargetview_vtable: ^IRenderTargetView_VTable, @@ -1668,7 +1681,8 @@ CDEPTH_STENCIL_VIEW_DESC :: struct { } -IDepthStencilView_UUID :: "9FDAC92A-1876-48C3-AFAD-25B94F84A9B6" +IDepthStencilView_UUID_STRING :: "9FDAC92A-1876-48C3-AFAD-25B94F84A9B6" +IDepthStencilView_UUID := &IID{0x9FDAC92A, 0x1876, 0x48C3, {0xAF, 0xAD, 0x25, 0xB9, 0x4F, 0x84, 0xA9, 0xB6}} IDepthStencilView :: struct #raw_union { #subtype id3d11view: IView, using id3d11depthstencilview_vtable: ^IDepthStencilView_VTable, @@ -1735,7 +1749,8 @@ CUNORDERED_ACCESS_VIEW_DESC :: struct { } -IUnorderedAccessView_UUID :: "28ACF509-7F5C-48F6-8611-F316010A6380" +IUnorderedAccessView_UUID_STRING :: "28ACF509-7F5C-48F6-8611-F316010A6380" +IUnorderedAccessView_UUID := &IID{0x28ACF509, 0x7F5C, 0x48F6, {0x86, 0x11, 0xF3, 0x16, 0x01, 0x0A, 0x63, 0x80}} IUnorderedAccessView :: struct #raw_union { #subtype id3d11view: IView, using id3d11unorderedaccessview_vtable: ^IUnorderedAccessView_VTable, @@ -1747,43 +1762,50 @@ IUnorderedAccessView_VTable :: struct { -IVertexShader_UUID :: "3B301D64-D678-4289-8897-22F8928B72F3" +IVertexShader_UUID_STRING :: "3B301D64-D678-4289-8897-22F8928B72F3" +IVertexShader_UUID := &IID{0x3B301D64, 0xD678, 0x4289, {0x88, 0x97, 0x22, 0xF8, 0x92, 0x8B, 0x72, 0xF3}} IVertexShader :: struct { using id3d11devicechild: IDeviceChild, } -IHullShader_UUID :: "8E5C6061-628A-4C8E-8264-BBE45CB3D5DD" +IHullShader_UUID_STRING :: "8E5C6061-628A-4C8E-8264-BBE45CB3D5DD" +IHullShader_UUID := &IID{0x8E5C6061, 0x628A, 0x4C8E, {0x82, 0x64, 0xBB, 0xE4, 0x5C, 0xB3, 0xD5, 0xDD}} IHullShader :: struct { using id3d11devicechild: IDeviceChild, } -IDomainShader_UUID :: "F582C508-0F36-490C-9977-31EECE268CFA" +IDomainShader_UUID_STRING :: "F582C508-0F36-490C-9977-31EECE268CFA" +IDomainShader_UUID := &IID{0xF582C508, 0x0F36, 0x490C, {0x99, 0x77, 0x31, 0xEE, 0xCE, 0x26, 0x8C, 0xFA}} IDomainShader :: struct { using id3d11devicechild: IDeviceChild, } -IGeometryShader_UUID :: "38325B96-EFFB-4022-BA02-2E795B70275C" +IGeometryShader_UUID_STRING :: "38325B96-EFFB-4022-BA02-2E795B70275C" +IGeometryShader_UUID := &IID{0x38325B96, 0xEFFB, 0x4022, {0xBA, 0x02, 0x2E, 0x79, 0x5B, 0x70, 0x27, 0x5C}} IGeometryShader :: struct { using id3d11devicechild: IDeviceChild, } -IPixelShader_UUID :: "EA82E40D-51DC-4F33-93D4-DB7C9125AE8C" +IPixelShader_UUID_STRING :: "EA82E40D-51DC-4F33-93D4-DB7C9125AE8C" +IPixelShader_UUID := &IID{0xEA82E40D, 0x51DC, 0x4F33, {0x93, 0xD4, 0xDB, 0x7C, 0x91, 0x25, 0xAE, 0x8C}} IPixelShader :: struct { using id3d11devicechild: IDeviceChild, } -IComputeShader_UUID :: "4F5B196E-C2BD-495E-BD01-1FDED38E4969" +IComputeShader_UUID_STRING :: "4F5B196E-C2BD-495E-BD01-1FDED38E4969" +IComputeShader_UUID := &IID{0x4F5B196E, 0xC2BD, 0x495E, {0xBD, 0x01, 0x1F, 0xDE, 0xD3, 0x8E, 0x49, 0x69}} IComputeShader :: struct { using id3d11devicechild: IDeviceChild, } -IInputLayout_UUID :: "E4819DDC-4CF0-4025-BD26-5DE82A3E07B7" +IInputLayout_UUID_STRING :: "E4819DDC-4CF0-4025-BD26-5DE82A3E07B7" +IInputLayout_UUID := &IID{0xE4819DDC, 0x4CF0, 0x4025, {0xBD, 0x26, 0x5D, 0xE8, 0x2A, 0x3E, 0x07, 0xB7}} IInputLayout :: struct { using id3d11devicechild: IDeviceChild, } @@ -1865,7 +1887,8 @@ CSAMPLER_DESC :: struct { } -ISamplerState_UUID :: "DA6FEA51-564C-4487-9810-F0D0F9B4E3A5" +ISamplerState_UUID_STRING :: "DA6FEA51-564C-4487-9810-F0D0F9B4E3A5" +ISamplerState_UUID := &IID{0xDA6FEA51, 0x564C, 0x4487, {0x98, 0x10, 0xF0, 0xD0, 0xF9, 0xB4, 0xE3, 0xA5}} ISamplerState :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11samplerstate_vtable: ^ISamplerState_VTable, @@ -1926,7 +1949,8 @@ FORMAT_SUPPORT2 :: enum i32 { // TODO: make bit_set } -IAsynchronous_UUID :: "4B35D0CD-1E15-4258-9C98-1B1333F6DD3B" +IAsynchronous_UUID_STRING :: "4B35D0CD-1E15-4258-9C98-1B1333F6DD3B" +IAsynchronous_UUID := &IID{0x4B35D0CD, 0x1E15, 0x4258, {0x9C, 0x98, 0x1B, 0x13, 0x33, 0xF6, 0xDD, 0x3B}} IAsynchronous :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11asynchronous_vtable: ^IAsynchronous_VTable, @@ -1974,7 +1998,8 @@ CQUERY_DESC :: struct { } -IQuery_UUID :: "D6C00747-87B7-425E-B84D-44D108560AFD" +IQuery_UUID_STRING :: "D6C00747-87B7-425E-B84D-44D108560AFD" +IQuery_UUID := &IID{0xD6C00747, 0x87B7, 0x425E, {0xB8, 0x4D, 0x44, 0xD1, 0x08, 0x56, 0x0A, 0xFD}} IQuery :: struct #raw_union { #subtype id3d11asynchronous: IAsynchronous, using id3d11query_vtable: ^IQuery_VTable, @@ -1986,7 +2011,8 @@ IQuery_VTable :: struct { -IPredicate_UUID :: "9EB576DD-9F77-4D86-81AA-8BAB5FE490E2" +IPredicate_UUID_STRING :: "9EB576DD-9F77-4D86-81AA-8BAB5FE490E2" +IPredicate_UUID := &IID{0x9EB576DD, 0x9F77, 0x4D86, {0x81, 0xAA, 0x8B, 0xAB, 0x5F, 0xE4, 0x90, 0xE2}} IPredicate :: struct { using id3d11query: IQuery, } @@ -2042,7 +2068,8 @@ COUNTER_INFO :: struct { } -ICounter_UUID :: "6E8C49FB-A371-4770-B440-29086022B741" +ICounter_UUID_STRING :: "6E8C49FB-A371-4770-B440-29086022B741" +ICounter_UUID := &IID{0x6E8C49FB, 0xA371, 0x4770, {0xB4, 0x40, 0x29, 0x08, 0x60, 0x22, 0xB7, 0x41}} ICounter :: struct #raw_union { #subtype id3d11asynchronous: IAsynchronous, using id3d11counter_vtable: ^ICounter_VTable, @@ -2075,7 +2102,8 @@ CLASS_INSTANCE_DESC :: struct { } -IClassInstance_UUID :: "A6CD7FAA-B0B7-4A2F-9436-8662A65797CB" +IClassInstance_UUID_STRING :: "A6CD7FAA-B0B7-4A2F-9436-8662A65797CB" +IClassInstance_UUID := &IID{0xA6CD7FAA, 0xB0B7, 0x4A2F, {0x94, 0x36, 0x86, 0x62, 0xA6, 0x57, 0x97, 0xCB}} IClassInstance :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11classinstance_vtable: ^IClassInstance_VTable, @@ -2090,7 +2118,8 @@ IClassInstance_VTable :: struct { -IClassLinkage_UUID :: "DDF57CBA-9543-46E4-A12B-F207A0FE7FED" +IClassLinkage_UUID_STRING :: "DDF57CBA-9543-46E4-A12B-F207A0FE7FED" +IClassLinkage_UUID := &IID{0xDDF57CBA, 0x9543, 0x46E4, {0xA1, 0x2B, 0xF2, 0x07, 0xA0, 0xFE, 0x7F, 0xED}} IClassLinkage :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11classlinkage_vtable: ^IClassLinkage_VTable, @@ -2103,7 +2132,8 @@ IClassLinkage_VTable :: struct { -ICommandList_UUID :: "A24BC4D1-769E-43F7-8013-98FF566C18E2" +ICommandList_UUID_STRING :: "A24BC4D1-769E-43F7-8013-98FF566C18E2" +ICommandList_UUID := &IID{0xA24BC4D1, 0x769E, 0x43F7, {0x80, 0x13, 0x98, 0xFF, 0x56, 0x6C, 0x18, 0xE2}} ICommandList :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11commandlist_vtable: ^ICommandList_VTable, @@ -2277,7 +2307,8 @@ FEATURE_DATA_OPTIONS5 :: struct { } -IDeviceContext_UUID :: "C0BFA96C-E089-44FB-8EAF-26F8796190DA" +IDeviceContext_UUID_STRING :: "C0BFA96C-E089-44FB-8EAF-26F8796190DA" +IDeviceContext_UUID := &IID{0xC0BFA96C, 0xE089, 0x44FB, {0x8E, 0xAF, 0x26, 0xF8, 0x79, 0x61, 0x90, 0xDA}} IDeviceContext :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11devicecontext_vtable: ^IDeviceContext_VTable, @@ -2484,7 +2515,8 @@ VIDEO_DECODER_EXTENSION :: struct { } -IVideoDecoder_UUID :: "3C9C5B51-995D-48D1-9B8D-FA5CAEDED65C" +IVideoDecoder_UUID_STRING :: "3C9C5B51-995D-48D1-9B8D-FA5CAEDED65C" +IVideoDecoder_UUID := &IID{0x3C9C5B51, 0x995D, 0x48D1, {0x9B, 0x8D, 0xFA, 0x5C, 0xAE, 0xDE, 0xD6, 0x5C}} IVideoDecoder :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11videodecoder_vtable: ^IVideoDecoder_VTable, @@ -2679,7 +2711,8 @@ VIDEO_PROCESSOR_CONTENT_DESC :: struct { } -IVideoProcessorEnumerator_UUID :: "31627037-53AB-4200-9061-05FAA9AB45F9" +IVideoProcessorEnumerator_UUID_STRING :: "31627037-53AB-4200-9061-05FAA9AB45F9" +IVideoProcessorEnumerator_UUID := &IID{0x31627037, 0x53AB, 0x4200, {0x90, 0x61, 0x05, 0xFA, 0xA9, 0xAB, 0x45, 0xF9}} IVideoProcessorEnumerator :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11videoprocessorenumerator_vtable: ^IVideoProcessorEnumerator_VTable, @@ -2789,7 +2822,8 @@ VIDEO_PROCESSOR_STREAM :: struct { } -IVideoProcessor_UUID :: "1D7B0652-185F-41C6-85CE-0C5BE3D4AE6C" +IVideoProcessor_UUID_STRING :: "1D7B0652-185F-41C6-85CE-0C5BE3D4AE6C" +IVideoProcessor_UUID := &IID{0x1D7B0652, 0x185F, 0x41C6, {0x85, 0xCE, 0x0C, 0x5B, 0xE3, 0xD4, 0xAE, 0x6C}} IVideoProcessor :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11videoprocessor_vtable: ^IVideoProcessor_VTable, @@ -2812,7 +2846,8 @@ AUTHENTICATED_CHANNEL_TYPE :: enum i32 { } -IAuthenticatedChannel_UUID :: "3015A308-DCBD-47AA-A747-192486D14D4A" +IAuthenticatedChannel_UUID_STRING :: "3015A308-DCBD-47AA-A747-192486D14D4A" +IAuthenticatedChannel_UUID := &IID{0x3015A308, 0xDCBD, 0x47AA, {0xA7, 0x47, 0x19, 0x24, 0x86, 0xD1, 0x4D, 0x4A}} IAuthenticatedChannel :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11authenticatedchannel_vtable: ^IAuthenticatedChannel_VTable, @@ -3020,7 +3055,8 @@ AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT :: struct { -ICryptoSession_UUID :: "9B32F9AD-BDCC-40A6-A39D-D5C865845720" +ICryptoSession_UUID_STRING :: "9B32F9AD-BDCC-40A6-A39D-D5C865845720" +ICryptoSession_UUID := &IID{0x9B32F9AD, 0xBDCC, 0x40A6, {0xA3, 0x9D, 0xD5, 0xC8, 0x65, 0x84, 0x57, 0x20}} ICryptoSession :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11cryptosession_vtable: ^ICryptoSession_VTable, @@ -3053,7 +3089,8 @@ VIDEO_DECODER_OUTPUT_VIEW_DESC :: struct { } -IVideoDecoderOutputView_UUID :: "C2931AEA-2A85-4F20-860F-FBA1FD256E18" +IVideoDecoderOutputView_UUID_STRING :: "C2931AEA-2A85-4F20-860F-FBA1FD256E18" +IVideoDecoderOutputView_UUID := &IID{0xC2931AEA, 0x2A85, 0x4F20, {0x86, 0x0F, 0xFB, 0xA1, 0xFD, 0x25, 0x6E, 0x18}} IVideoDecoderOutputView :: struct #raw_union { #subtype id3d11view: IView, using id3d11videodecoderoutputview_vtable: ^IVideoDecoderOutputView_VTable, @@ -3083,7 +3120,8 @@ VIDEO_PROCESSOR_INPUT_VIEW_DESC :: struct { } -IVideoProcessorInputView_UUID :: "11EC5A5F-51DC-4945-AB34-6E8C21300EA5" +IVideoProcessorInputView_UUID_STRING :: "11EC5A5F-51DC-4945-AB34-6E8C21300EA5" +IVideoProcessorInputView_UUID := &IID{0x11EC5A5F, 0x51DC, 0x4945, {0xAB, 0x34, 0x6E, 0x8C, 0x21, 0x30, 0x0E, 0xA5}} IVideoProcessorInputView :: struct #raw_union { #subtype id3d11view: IView, using id3d11videoprocessorinputview_vtable: ^IVideoProcessorInputView_VTable, @@ -3119,7 +3157,8 @@ VIDEO_PROCESSOR_OUTPUT_VIEW_DESC :: struct { } -IVideoProcessorOutputView_UUID :: "A048285E-25A9-4527-BD93-D68B68C44254" +IVideoProcessorOutputView_UUID_STRING :: "A048285E-25A9-4527-BD93-D68B68C44254" +IVideoProcessorOutputView_UUID := &IID{0xA048285E, 0x25A9, 0x4527, {0xBD, 0x93, 0xD6, 0x8B, 0x68, 0xC4, 0x42, 0x54}} IVideoProcessorOutputView :: struct #raw_union { #subtype id3d11view: IView, using id3d11videoprocessoroutputview_vtable: ^IVideoProcessorOutputView_VTable, @@ -3131,7 +3170,8 @@ IVideoProcessorOutputView_VTable :: struct { -IVideoContext_UUID :: "61F21C45-3C0E-4A74-9CEA-67100D9AD5E4" +IVideoContext_UUID_STRING :: "61F21C45-3C0E-4A74-9CEA-67100D9AD5E4" +IVideoContext_UUID := &IID{0x61F21C45, 0x3C0E, 0x4A74, {0x9C, 0xEA, 0x67, 0x10, 0x0D, 0x9A, 0xD5, 0xE4}} IVideoContext :: struct #raw_union { #subtype id3d11devicechild: IDeviceChild, using id3d11videocontext_vtable: ^IVideoContext_VTable, @@ -3200,7 +3240,8 @@ IVideoContext_VTable :: struct { -IVideoDevice_UUID :: "10EC4D5B-975A-4689-B9E4-D0AAC30FE333" +IVideoDevice_UUID_STRING :: "10EC4D5B-975A-4689-B9E4-D0AAC30FE333" +IVideoDevice_UUID := &IID{0x10EC4D5B, 0x975A, 0x4689, {0xB9, 0xE4, 0xD0, 0xAA, 0xC3, 0x0F, 0xE3, 0x33}} IVideoDevice :: struct #raw_union { #subtype iunknown: IUnknown, using id3d11videodevice_vtable: ^IVideoDevice_VTable, @@ -3228,7 +3269,8 @@ IVideoDevice_VTable :: struct { -IDevice_UUID :: "DB6F6DDB-AC77-4E88-8253-819DF9BBF140" +IDevice_UUID_STRING :: "DB6F6DDB-AC77-4E88-8253-819DF9BBF140" +IDevice_UUID := &IID{0xDB6F6DDB, 0xAC77, 0x4E88, {0x82, 0x53, 0x81, 0x9D, 0xF9, 0xBB, 0xF1, 0x40}} IDevice :: struct #raw_union { #subtype iunknown: IUnknown, using id3d11device_vtable: ^IDevice_VTable, @@ -3278,16 +3320,17 @@ IDevice_VTable :: struct { } +CREATE_DEVICE_FLAGS :: distinct bit_set[CREATE_DEVICE_FLAG; u32] CREATE_DEVICE_FLAG :: enum u32 { // TODO: make bit_set - SINGLETHREADED = 0x1, - DEBUG = 0x2, - SWITCH_TO_REF = 0x4, - PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8, - BGRA_SUPPORT = 0x20, - DEBUGGABLE = 0x40, - PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80, - DISABLE_GPU_TIMEOUT = 0x100, - VIDEO_SUPPORT = 0x800, + SINGLETHREADED = 0, + DEBUG = 1, + SWITCH_TO_REF = 2, + PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 3, + BGRA_SUPPORT = 5, + DEBUGGABLE = 6, + PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 7, + DISABLE_GPU_TIMEOUT = 8, + VIDEO_SUPPORT = 12, } PFN_CREATE_DEVICE :: #type proc "c" (a0: ^dxgi.IAdapter, a1: DRIVER_TYPE, a2: HMODULE, a3: u32, a4: ^FEATURE_LEVEL, a5: u32, a6: u32, a7: ^^IDevice, a8: ^FEATURE_LEVEL, a9: ^^IDeviceContext) -> HRESULT diff --git a/vendor/directx/d3d_compiler/d3d_compiler.odin b/vendor/directx/d3d_compiler/d3d_compiler.odin index 9157e3585..559452f78 100644 --- a/vendor/directx/d3d_compiler/d3d_compiler.odin +++ b/vendor/directx/d3d_compiler/d3d_compiler.odin @@ -109,18 +109,22 @@ SHADER_MACRO :: struct { Definition: cstring, } +ID3D10Blob_UUID_STRING :: "8BA5FB08-5195-40E2-AC58-0D989C3A0102" +ID3D10Blob_UUID := &IID{0x8BA5FB08, 0x5195, 0x40E2, {0xAC, 0x58, 0x0D, 0x98, 0x9C, 0x3A, 0x01, 0x02}} ID3D10Blob :: struct { #subtype iunknown: IUnknown, using id3d10blob_vtable: ^ID3D10Blob_VTable, } ID3D10Blob_VTable :: struct { using iunknown_vtable: IUnknown_VTable, - GetBufferPointer: proc "stdcall" (this: ^ID3D10Blob), + GetBufferPointer: proc "stdcall" (this: ^ID3D10Blob) -> rawptr, GetBufferSize: proc "stdcall" (this: ^ID3D10Blob) -> SIZE_T, } ID3DBlob :: ID3D10Blob +ID3DBlob_VTable :: ID3D10Blob_VTable + INCLUDE_TYPE :: enum i32 { INCLUDE_LOCAL = 0, diff --git a/vendor/directx/dxgi/dxgi.odin b/vendor/directx/dxgi/dxgi.odin index 0b8feba4c..70c5a9e71 100644 --- a/vendor/directx/dxgi/dxgi.odin +++ b/vendor/directx/dxgi/dxgi.odin @@ -437,7 +437,8 @@ SWAP_CHAIN_DESC :: struct { } -IObject_UUID :: "AEC22FB8-76F3-4639-9BE0-28EB43A67A2E" +IObject_UUID_STRING :: "AEC22FB8-76F3-4639-9BE0-28EB43A67A2E" +IObject_UUID := &IID{0xAEC22FB8, 0x76F3, 0x4639, {0x9B, 0xE0, 0x28, 0xEB, 0x43, 0xA6, 0x7A, 0x2E}} IObject :: struct #raw_union { #subtype iunknown: IUnknown, using vtable: ^IObject_VTable, @@ -450,7 +451,8 @@ IObject_VTable :: struct { GetParent: proc "stdcall" (this: ^IObject, riid: ^IID, ppParent: ^rawptr) -> HRESULT, } -IDeviceSubObject_UUID :: "3D3E0379-F9DE-4D58-BB6C-18D62992F1A6" +IDeviceSubObject_UUID_STRING :: "3D3E0379-F9DE-4D58-BB6C-18D62992F1A6" +IDeviceSubObject_UUID := &IID{0x3D3E0379, 0xF9DE, 0x4D58, {0xBB, 0x6C, 0x18, 0xD6, 0x29, 0x92, 0xF1, 0xA6}} IDeviceSubObject :: struct #raw_union { #subtype idxgiobject: IObject, using idxgidevicesubobject_vtable: ^IDeviceSubObject_VTable, @@ -460,7 +462,8 @@ IDeviceSubObject_VTable :: struct { GetDevice: proc "stdcall" (this: ^IDeviceSubObject, riid: ^IID, ppDevice: ^rawptr) -> HRESULT, } -IResource_UUID :: "035F3AB4-482E-4E50-B41F-8A7F8BD8960B" +IResource_UUID_STRING :: "035F3AB4-482E-4E50-B41F-8A7F8BD8960B" +IResource_UUID := &IID{0x035F3AB4, 0x482E, 0x4E50, {0xB4, 0x1F, 0x8A, 0x7F, 0x8B, 0xD8, 0x96, 0x0B}} IResource :: struct #raw_union { #subtype idxgidevicesubobject: IDeviceSubObject, using idxgiresource_vtable: ^IResource_VTable, @@ -473,7 +476,8 @@ IResource_VTable :: struct { GetEvictionPriority: proc "stdcall" (this: ^IResource, pEvictionPriority: ^u32) -> HRESULT, } -IKeyedMutex_UUID :: "9D8E1289-D7B3-465F-8126-250E349AF85D" +IKeyedMutex_UUID_STRING :: "9D8E1289-D7B3-465F-8126-250E349AF85D" +IKeyedMutex_UUID := &IID{0x9D8E1289, 0xD7B3, 0x465F, {0x81, 0x26, 0x25, 0x0E, 0x34, 0x9A, 0xF8, 0x5D}} IKeyedMutex :: struct #raw_union { #subtype idxgidevicesubobject: IDeviceSubObject, using idxgikeyedmutex_vtable: ^IKeyedMutex_VTable, @@ -484,7 +488,8 @@ IKeyedMutex_VTable :: struct { ReleaseSync: proc "stdcall" (this: ^IKeyedMutex, Key: u64) -> HRESULT, } -ISurface_UUID :: "CAFCB56C-6AC3-4889-BF47-9E23BBD260EC" +ISurface_UUID_STRING :: "CAFCB56C-6AC3-4889-BF47-9E23BBD260EC" +ISurface_UUID := &IID{0xCAFCB56C, 0x6AC3, 0x4889, {0xBF, 0x47, 0x9E, 0x23, 0xBB, 0xD2, 0x60, 0xEC}} ISurface :: struct #raw_union { #subtype idxgidevicesubobject: IDeviceSubObject, using idxgisurface_vtable: ^ISurface_VTable, @@ -496,7 +501,8 @@ ISurface_VTable :: struct { Unmap: proc "stdcall" (this: ^ISurface) -> HRESULT, } -ISurface1_UUID :: "4AE63092-6327-4C1B-80AE-BFE12EA32B86" +ISurface1_UUID_STRING :: "4AE63092-6327-4C1B-80AE-BFE12EA32B86" +ISurface1_UUID := &IID{0x4AE63092, 0x6327, 0x4C1B, {0x80, 0xAE, 0xBF, 0xE1, 0x2E, 0xA3, 0x2B, 0x86}} ISurface1 :: struct #raw_union { #subtype idxgisurface: ISurface, using idxgisurface1_vtable: ^ISurface1_VTable, @@ -507,7 +513,8 @@ ISurface1_VTable :: struct { ReleaseDC: proc "stdcall" (this: ^ISurface1, pDirtyRect: ^RECT) -> HRESULT, } -IAdapter_UUID :: "2411E7E1-12AC-4CCF-BD14-9798E8534DC0" +IAdapter_UUID_STRING :: "2411E7E1-12AC-4CCF-BD14-9798E8534DC0" +IAdapter_UUID := &IID{0x2411E7E1, 0x12AC, 0x4CCF, {0xBD, 0x14, 0x97, 0x98, 0xE8, 0x53, 0x4D, 0xC0}} IAdapter :: struct #raw_union { #subtype idxgiobject: IObject, using idxgiadapter_vtable: ^IAdapter_VTable, @@ -519,7 +526,8 @@ IAdapter_VTable :: struct { CheckInterfaceSupport: proc "stdcall" (this: ^IAdapter, InterfaceName: ^GUID, pUMDVersion: ^LARGE_INTEGER) -> HRESULT, } -IOutput_UUID :: "AE02EEDB-C735-4690-8D52-5A8DC20213AA" +IOutput_UUID_STRING :: "AE02EEDB-C735-4690-8D52-5A8DC20213AA" +IOutput_UUID := &IID{0xAE02EEDB, 0xC735, 0x4690, {0x8D, 0x52, 0x5A, 0x8D, 0xC2, 0x02, 0x13, 0xAA}} IOutput :: struct #raw_union { #subtype idxgiobject: IObject, using idxgioutput_vtable: ^IOutput_VTable, @@ -540,7 +548,8 @@ IOutput_VTable :: struct { GetFrameStatistics: proc "stdcall" (this: ^IOutput, pStats: ^FRAME_STATISTICS) -> HRESULT, } -ISwapChain_UUID :: "310D36A0-D2E7-4C0A-AA04-6A9D23B8886A" +ISwapChain_UUID_STRING :: "310D36A0-D2E7-4C0A-AA04-6A9D23B8886A" +ISwapChain_UUID := &IID{0x310D36A0, 0xD2E7, 0x4C0A, {0xAA, 0x04, 0x6A, 0x9D, 0x23, 0xB8, 0x88, 0x6A}} ISwapChain :: struct #raw_union { #subtype idxgidevicesubobject: IDeviceSubObject, using idxgiswapchain_vtable: ^ISwapChain_VTable, @@ -559,7 +568,8 @@ ISwapChain_VTable :: struct { GetLastPresentCount: proc "stdcall" (this: ^ISwapChain, pLastPresentCount: ^u32) -> HRESULT, } -IFactory_UUID :: "7B7166EC-21C7-44AE-B21A-C9AE321AE369" +IFactory_UUID_STRING :: "7B7166EC-21C7-44AE-B21A-C9AE321AE369" +IFactory_UUID := &IID{0x7B7166EC, 0x21C7, 0x44AE, {0xB2, 0x1A, 0xC9, 0xAE, 0x32, 0x1A, 0xE3, 0x69}} IFactory :: struct #raw_union { #subtype idxgiobject: IObject, using idxgifactory_vtable: ^IFactory_VTable, @@ -572,7 +582,8 @@ IFactory_VTable :: struct { CreateSwapChain: proc "stdcall" (this: ^IFactory, pDevice: ^IUnknown, pDesc: ^SWAP_CHAIN_DESC, ppSwapChain: ^^ISwapChain) -> HRESULT, CreateSoftwareAdapter: proc "stdcall" (this: ^IFactory, Module: HMODULE, ppAdapter: ^^IAdapter) -> HRESULT, } -IDevice_UUID :: "54EC77FA-1377-44E6-8C32-88FD5F44C84C" +IDevice_UUID_STRING :: "54EC77FA-1377-44E6-8C32-88FD5F44C84C" +IDevice_UUID := &IID{0x54EC77FA, 0x1377, 0x44E6, {0x8C, 0x32, 0x88, 0xFD, 0x5F, 0x44, 0xC8, 0x4C}} IDevice :: struct #raw_union { #subtype idxgiobject: IObject, using idxgidevice_vtable: ^IDevice_VTable, @@ -611,7 +622,8 @@ DISPLAY_COLOR_SPACE :: struct { } -IFactory1_UUID :: "770AAE78-F26F-4DBA-A829-253C83D1B387" +IFactory1_UUID_STRING :: "770AAE78-F26F-4DBA-A829-253C83D1B387" +IFactory1_UUID := &IID{0x770AAE78, 0xF26F, 0x4DBA, {0xA8, 0x29, 0x25, 0x3C, 0x83, 0xD1, 0xB3, 0x87}} IFactory1 :: struct #raw_union { #subtype idxgifactory: IFactory, using idxgifactory1_vtable: ^IFactory1_VTable, @@ -622,7 +634,8 @@ IFactory1_VTable :: struct { IsCurrent: proc "stdcall" (this: ^IFactory1) -> BOOL, } -IAdapter1_UUID :: "29038F61-3839-4626-91FD-086879011A05" +IAdapter1_UUID_STRING :: "29038F61-3839-4626-91FD-086879011A05" +IAdapter1_UUID := &IID{0x29038F61, 0x3839, 0x4626, {0x91, 0xFD, 0x08, 0x68, 0x79, 0x01, 0x1A, 0x05}} IAdapter1 :: struct #raw_union { #subtype idxgiadapter: IAdapter, using idxgiadapter1_vtable: ^IAdapter1_VTable, @@ -632,7 +645,8 @@ IAdapter1_VTable :: struct { GetDesc1: proc "stdcall" (this: ^IAdapter1, pDesc: ^ADAPTER_DESC1) -> HRESULT, } -IDevice1_UUID :: "77DB970F-6276-48BA-BA28-070143B4392C" +IDevice1_UUID_STRING :: "77DB970F-6276-48BA-BA28-070143B4392C" +IDevice1_UUID := &IID{0x77DB970F, 0x6276, 0x48BA, {0xBA, 0x28, 0x07, 0x01, 0x43, 0xB4, 0x39, 0x2C}} IDevice1 :: struct #raw_union { #subtype idxgidevice: IDevice, using idxgidevice1_vtable: ^IDevice1_VTable, @@ -643,7 +657,8 @@ IDevice1_VTable :: struct { GetMaximumFrameLatency: proc "stdcall" (this: ^IDevice1, pMaxLatency: ^u32) -> HRESULT, } -IDisplayControl_UUID :: "EA9DBF1A-C88E-4486-854A-98AA0138F30C" +IDisplayControl_UUID_STRING :: "EA9DBF1A-C88E-4486-854A-98AA0138F30C" +IDisplayControl_UUID := &IID{0xEA9DBF1A, 0xC88E, 0x4486, {0x85, 0x4A, 0x98, 0xAA, 0x01, 0x38, 0xF3, 0x0C}} IDisplayControl :: struct #raw_union { #subtype iunknown: IUnknown, using idxgidisplaycontrol_vtable: ^IDisplayControl_VTable, @@ -695,7 +710,8 @@ OUTDUPL_FRAME_INFO :: struct { } -IOutputDuplication_UUID :: "191CFAC3-A341-470D-B26E-A864F428319C" +IOutputDuplication_UUID_STRING :: "191CFAC3-A341-470D-B26E-A864F428319C" +IOutputDuplication_UUID := &IID{0x191CFAC3, 0xA341, 0x470D, {0xB2, 0x6E, 0xA8, 0x64, 0xF4, 0x28, 0x31, 0x9C}} IOutputDuplication :: struct #raw_union { #subtype idxgiobject: IObject, using idxgioutputduplication_vtable: ^IOutputDuplication_VTable, @@ -720,7 +736,8 @@ ALPHA_MODE :: enum i32 { } -ISurface2_UUID :: "ABA496DD-B617-4CB8-A866-BC44D7EB1FA2" +ISurface2_UUID_STRING :: "ABA496DD-B617-4CB8-A866-BC44D7EB1FA2" +ISurface2_UUID := &IID{0xABA496DD, 0xB617, 0x4CB8, {0xA8, 0x66, 0xBC, 0x44, 0xD7, 0xEB, 0x1F, 0xA2}} ISurface2 :: struct #raw_union { #subtype idxgisurface1: ISurface1, using idxgisurface2_vtable: ^ISurface2_VTable, @@ -730,7 +747,8 @@ ISurface2_VTable :: struct { GetResource: proc "stdcall" (this: ^ISurface2, riid: ^IID, ppParentResource: ^rawptr, pSubresourceIndex: ^u32) -> HRESULT, } -IResource1_UUID :: "30961379-4609-4A41-998E-54FE567EE0C1" +IResource1_UUID_STRING :: "30961379-4609-4A41-998E-54FE567EE0C1" +IResource1_UUID := &IID{0x30961379, 0x4609, 0x4A41, {0x99, 0x8E, 0x54, 0xFE, 0x56, 0x7E, 0xE0, 0xC1}} IResource1 :: struct #raw_union { #subtype idxgiresource: IResource, using idxgiresource1_vtable: ^IResource1_VTable, @@ -747,7 +765,8 @@ OFFER_RESOURCE_PRIORITY :: enum i32 { } -IDevice2_UUID :: "05008617-FBFD-4051-A790-144884B4F6A9" +IDevice2_UUID_STRING :: "05008617-FBFD-4051-A790-144884B4F6A9" +IDevice2_UUID := &IID{0x05008617, 0xFBFD, 0x4051, {0xA7, 0x90, 0x14, 0x48, 0x84, 0xB4, 0xF6, 0xA9}} IDevice2 :: struct #raw_union { #subtype idxgidevice1: IDevice1, using idxgidevice2_vtable: ^IDevice2_VTable, @@ -804,7 +823,8 @@ PRESENT_PARAMETERS :: struct { } -ISwapChain1_UUID :: "790A45F7-0D42-4876-983A-0A55CFE6F4AA" +ISwapChain1_UUID_STRING :: "790A45F7-0D42-4876-983A-0A55CFE6F4AA" +ISwapChain1_UUID := &IID{0x790A45F7, 0x0D42, 0x4876, {0x98, 0x3A, 0x0A, 0x55, 0xCF, 0xE6, 0xF4, 0xAA}} ISwapChain1 :: struct #raw_union { #subtype idxgiswapchain: ISwapChain, using idxgiswapchain1_vtable: ^ISwapChain1_VTable, @@ -824,7 +844,8 @@ ISwapChain1_VTable :: struct { GetRotation: proc "stdcall" (this: ^ISwapChain1, pRotation: ^MODE_ROTATION) -> HRESULT, } -IFactory2_UUID :: "50C83A1C-E072-4C48-87B0-3630FA36A6D0" +IFactory2_UUID_STRING :: "50C83A1C-E072-4C48-87B0-3630FA36A6D0" +IFactory2_UUID := &IID{0x50C83A1C, 0xE072, 0x4C48, {0x87, 0xB0, 0x36, 0x30, 0xFA, 0x36, 0xA6, 0xD0}} IFactory2 :: struct #raw_union { #subtype idxgifactory1: IFactory1, using idxgifactory2_vtable: ^IFactory2_VTable, @@ -875,7 +896,8 @@ ADAPTER_DESC2 :: struct { } -IAdapter2_UUID :: "0AA1AE0A-FA0E-4B84-8644-E05FF8E5ACB5" +IAdapter2_UUID_STRING :: "0AA1AE0A-FA0E-4B84-8644-E05FF8E5ACB5" +IAdapter2_UUID := &IID{0x0AA1AE0A, 0xFA0E, 0x4B84, {0x86, 0x44, 0xE0, 0x5F, 0xF8, 0xE5, 0xAC, 0xB5}} IAdapter2 :: struct #raw_union { #subtype idxgiadapter1: IAdapter1, using idxgiadapter2_vtable: ^IAdapter2_VTable, @@ -885,7 +907,8 @@ IAdapter2_VTable :: struct { GetDesc2: proc "stdcall" (this: ^IAdapter2, pDesc: ^ADAPTER_DESC2) -> HRESULT, } -IOutput1_UUID :: "00CDDEA8-939B-4B83-A340-A685226666CC" +IOutput1_UUID_STRING :: "00CDDEA8-939B-4B83-A340-A685226666CC" +IOutput1_UUID := &IID{0x00CDDEA8, 0x939B, 0x4B83, {0xA3, 0x40, 0xA6, 0x85, 0x22, 0x66, 0x66, 0xCC}} IOutput1 :: struct #raw_union { #subtype idxgioutput: IOutput, using idxgioutput1_vtable: ^IOutput1_VTable, @@ -897,7 +920,8 @@ IOutput1_VTable :: struct { GetDisplaySurfaceData1: proc "stdcall" (this: ^IOutput1, pDestination: ^IResource) -> HRESULT, DuplicateOutput: proc "stdcall" (this: ^IOutput1, pDevice: ^IUnknown, ppOutputDuplication: ^^IOutputDuplication) -> HRESULT, } -IDevice3_UUID :: "6007896C-3244-4AFD-BF18-A6D3BEDA5023" +IDevice3_UUID_STRING :: "6007896C-3244-4AFD-BF18-A6D3BEDA5023" +IDevice3_UUID := &IID{0x6007896C, 0x3244, 0x4AFD, {0xBF, 0x18, 0xA6, 0xD3, 0xBE, 0xDA, 0x50, 0x23}} IDevice3 :: struct #raw_union { #subtype idxgidevice2: IDevice2, using idxgidevice3_vtable: ^IDevice3_VTable, @@ -916,7 +940,8 @@ MATRIX_3X2_F :: struct { } -ISwapChain2_UUID :: "A8BE2AC4-199F-4946-B331-79599FB98DE7" +ISwapChain2_UUID_STRING :: "A8BE2AC4-199F-4946-B331-79599FB98DE7" +ISwapChain2_UUID := &IID{0xA8BE2AC4, 0x199F, 0x4946, {0xB3, 0x31, 0x79, 0x59, 0x9F, 0xB9, 0x8D, 0xE7}} ISwapChain2 :: struct #raw_union { #subtype idxgiswapchain1: ISwapChain1, using idxgiswapchain2_vtable: ^ISwapChain2_VTable, @@ -932,7 +957,8 @@ ISwapChain2_VTable :: struct { GetMatrixTransform: proc "stdcall" (this: ^ISwapChain2, pMatrix: ^MATRIX_3X2_F) -> HRESULT, } -IOutput2_UUID :: "595E39D1-2724-4663-99B1-DA969DE28364" +IOutput2_UUID_STRING :: "595E39D1-2724-4663-99B1-DA969DE28364" +IOutput2_UUID := &IID{0x595E39D1, 0x2724, 0x4663, {0x99, 0xB1, 0xDA, 0x96, 0x9D, 0xE2, 0x83, 0x64}} IOutput2 :: struct #raw_union { #subtype idxgioutput1: IOutput1, using idxgioutput2_vtable: ^IOutput2_VTable, @@ -942,7 +968,8 @@ IOutput2_VTable :: struct { SupportsOverlays: proc "stdcall" (this: ^IOutput2) -> BOOL, } -IFactory3_UUID :: "25483823-CD46-4C7D-86CA-47AA95B837BD" +IFactory3_UUID_STRING :: "25483823-CD46-4C7D-86CA-47AA95B837BD" +IFactory3_UUID := &IID{0x25483823, 0xCD46, 0x4C7D, {0x86, 0xCA, 0x47, 0xAA, 0x95, 0xB8, 0x37, 0xBD}} IFactory3 :: struct #raw_union { #subtype idxgifactory2: IFactory2, using idxgifactory3_vtable: ^IFactory3_VTable, @@ -962,7 +989,8 @@ MULTIPLANE_OVERLAY_YCbCr_FLAGS :: enum u32 { // TODO: convert to bit_set } -IDecodeSwapChain_UUID :: "2633066B-4514-4C7A-8FD8-12EA98059D18" +IDecodeSwapChain_UUID_STRING :: "2633066B-4514-4C7A-8FD8-12EA98059D18" +IDecodeSwapChain_UUID := &IID{0x2633066B, 0x4514, 0x4C7A, {0x8F, 0xD8, 0x12, 0xEA, 0x98, 0x05, 0x9D, 0x18}} IDecodeSwapChain :: struct #raw_union { #subtype iunknown: IUnknown, using idxgidecodeswapchain_vtable: ^IDecodeSwapChain_VTable, @@ -980,7 +1008,8 @@ IDecodeSwapChain_VTable :: struct { GetColorSpace: proc "stdcall" (this: ^IDecodeSwapChain) -> MULTIPLANE_OVERLAY_YCbCr_FLAGS, } -IFactoryMedia_UUID :: "41E7D1F2-A591-4F7B-A2E5-FA9C843E1C12" +IFactoryMedia_UUID_STRING :: "41E7D1F2-A591-4F7B-A2E5-FA9C843E1C12" +IFactoryMedia_UUID := &IID{0x41E7D1F2, 0xA591, 0x4F7B, {0xA2, 0xE5, 0xFA, 0x9C, 0x84, 0x3E, 0x1C, 0x12}} IFactoryMedia :: struct #raw_union { #subtype iunknown: IUnknown, using idxgifactorymedia_vtable: ^IFactoryMedia_VTable, @@ -1008,7 +1037,8 @@ FRAME_STATISTICS_MEDIA :: struct { } -ISwapChainMedia_UUID :: "DD95B90B-F05F-4F6A-BD65-25BFB264BD84" +ISwapChainMedia_UUID_STRING :: "DD95B90B-F05F-4F6A-BD65-25BFB264BD84" +ISwapChainMedia_UUID := &IID{0xDD95B90B, 0xF05F, 0x4F6A, {0xBD, 0x65, 0x25, 0xBF, 0xB2, 0x64, 0xBD, 0x84}} ISwapChainMedia :: struct #raw_union { #subtype iunknown: IUnknown, using idxgiswapchainmedia_vtable: ^ISwapChainMedia_VTable, @@ -1025,7 +1055,8 @@ OVERLAY_SUPPORT_FLAG :: enum u32 { // TODO: convert to bit_set } -IOutput3_UUID :: "8A6BB301-7E7E-41F4-A8E0-5B32F7F99B18" +IOutput3_UUID_STRING :: "8A6BB301-7E7E-41F4-A8E0-5B32F7F99B18" +IOutput3_UUID := &IID{0x8A6BB301, 0x7E7E, 0x41F4, {0xA8, 0xE0, 0x5B, 0x32, 0xF7, 0xF9, 0x9B, 0x18}} IOutput3 :: struct #raw_union { #subtype idxgioutput2: IOutput2, using idxgioutput3_vtable: ^IOutput3_VTable, @@ -1040,7 +1071,8 @@ SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG :: enum u32 { // TODO: convert to bit_set } -ISwapChain3_UUID :: "94D99BDB-F1F8-4AB0-B236-7DA0170EDAB1" +ISwapChain3_UUID_STRING :: "94D99BDB-F1F8-4AB0-B236-7DA0170EDAB1" +ISwapChain3_UUID := &IID{0x94D99BDB, 0xF1F8, 0x4AB0, {0xB2, 0x36, 0x7D, 0xA0, 0x17, 0x0E, 0xDA, 0xB1}} ISwapChain3 :: struct #raw_union { #subtype idxgiswapchain2: ISwapChain2, using idxgiswapchain3_vtable: ^ISwapChain3_VTable, @@ -1057,7 +1089,8 @@ OVERLAY_COLOR_SPACE_SUPPORT_FLAG :: enum u32 { // TODO: convert to bit_set } -IOutput4_UUID :: "DC7DCA35-2196-414D-9F53-617884032A60" +IOutput4_UUID_STRING :: "DC7DCA35-2196-414D-9F53-617884032A60" +IOutput4_UUID := &IID{0xDC7DCA35, 0x2196, 0x414D, {0x9F, 0x53, 0x61, 0x78, 0x84, 0x03, 0x2A, 0x60}} IOutput4 :: struct #raw_union { #subtype idxgioutput3: IOutput3, using idxgioutput4_vtable: ^IOutput4_VTable, @@ -1067,7 +1100,8 @@ IOutput4_VTable :: struct { CheckOverlayColorSpaceSupport: proc "stdcall" (this: ^IOutput4, Format: FORMAT, ColorSpace: COLOR_SPACE_TYPE, pConcernedDevice: ^IUnknown, pFlags: ^u32) -> HRESULT, } -IFactory4_UUID :: "1BC6EA02-EF36-464F-BF0C-21CA39E5168A" +IFactory4_UUID_STRING :: "1BC6EA02-EF36-464F-BF0C-21CA39E5168A" +IFactory4_UUID := &IID{0x1BC6EA02, 0xEF36, 0x464F, {0xBF, 0x0C, 0x21, 0xCA, 0x39, 0xE5, 0x16, 0x8A}} IFactory4 :: struct #raw_union { #subtype idxgifactory3: IFactory3, using idxgifactory4_vtable: ^IFactory4_VTable, @@ -1090,7 +1124,8 @@ QUERY_VIDEO_MEMORY_INFO :: struct { } -IAdapter3_UUID :: "645967A4-1392-4310-A798-8053CE3E93FD" +IAdapter3_UUID_STRING :: "645967A4-1392-4310-A798-8053CE3E93FD" +IAdapter3_UUID := &IID{0x645967A4, 0x1392, 0x4310, {0xA7, 0x98, 0x80, 0x53, 0xCE, 0x3E, 0x93, 0xFD}} IAdapter3 :: struct #raw_union { #subtype idxgiadapter2: IAdapter2, using idxgiadapter3_vtable: ^IAdapter3_VTable,